hypernets_processor.scheduler module
Contains class for scheduling and automating hypernets data processing jobs
- class hypernets_processor.scheduler.Scheduler(logger=None)
Bases:
object
Class to schedule recurring jobs (i.e. like cron)
- Parameters:
logger (logging.logger) – logger (optional)
- get_scheduled_jobs()
Return scheduled jobs
- Returns:
scheduled jobs
- Return type:
list
- static job_wrapper(job, parallel=False, logger=None, name=None, *args, **kwargs)
Wraps job function to provide logging, error handling and parallel processing when scheduled
- Parameters:
job (func) – function
- run(start_time=None)
Run scheduled jobs
- Parameters:
start_time (datetime.datetime) – time to delay starting running pending jobs too
- schedule(job, *args, **kwargs)
Schedule job
- Parameters:
job (func) – job function
scheduler_job_config (dict) – configuration parameters for job, entries may be:
seconds (int) - seconds between job repeats
minutes (int) - minutes between job repeats
parallel (bool) - switch for running jobs on different threads (False if omitted)
name (str) - job name for logging (optional)
- Parameters:
args – args for job
kwargs – kwargs for job