mirror of
				https://github.com/open-metadata/OpenMetadata.git
				synced 2025-10-30 18:17:53 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			47 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| """Run the scheduler process."""
 | |
| #  Licensed to the Apache Software Foundation (ASF) under one or more
 | |
| #  contributor license agreements. See the NOTICE file distributed with
 | |
| #  this work for additional information regarding copyright ownership.
 | |
| #  The ASF licenses this file to You under the Apache License, Version 2.0
 | |
| #  (the "License"); you may not use this file except in compliance with
 | |
| #  the License. You may obtain a copy of the License at
 | |
| #
 | |
| #  http://www.apache.org/licenses/LICENSE-2.0
 | |
| #
 | |
| #  Unless required by applicable law or agreed to in writing, software
 | |
| #  distributed under the License is distributed on an "AS IS" BASIS,
 | |
| #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | |
| #  See the License for the specific language governing permissions and
 | |
| #  limitations under the License.
 | |
| 
 | |
| from simplescheduler.server import server
 | |
| import os
 | |
| import json
 | |
| from simplescheduler.server import server
 | |
| 
 | |
| 
 | |
| class SimpleServer(server.SchedulerServer):
 | |
| 
 | |
|     def post_scheduler_start(self):
 | |
|         jobs = self.scheduler_manager.get_jobs()
 | |
|         if len(jobs) == 0:
 | |
|             for filename in os.listdir(os.getcwd() + '/pipelines/'):
 | |
|                 if filename.endswith('.json'):
 | |
|                     with open(os.path.join(os.getcwd() + '/pipelines', filename), 'r') as stream:
 | |
|                         config_data = json.load(stream)
 | |
|                         print(config_data)
 | |
|                         self.scheduler_manager.add_job(
 | |
|                             job_class_string='jobs.MetadataLoaderJob',
 | |
|                             name='Ingest - {}'.format(filename),
 | |
|                             pub_args=[json.dumps(config_data)],
 | |
|                             minute=config_data['cron']['minute'],
 | |
|                             hour=config_data['cron']['hour'],
 | |
|                             day=config_data['cron']['day'],
 | |
|                             month=config_data['cron']['month'],
 | |
|                             day_of_week=config_data['cron']['day_of_week'],
 | |
|                         )
 | |
| 
 | |
| 
 | |
| if __name__ == "__main__":
 | |
|     SimpleServer.run()
 | 
