Skip to content
mushkevych edited this page Oct 1, 2014 · 26 revisions

Scheduler wiki!

  1. About
  2. Use-cases

About

Scheduler is production-grade Job Scheduling System. Here, "job" term corresponds to any system process (for example: Python process, Hadoop map-reduce job, etc) that is started and monitored by Scheduler means.

There are two types of processes:

  • cron-like jobs govern by timer. They are known to the system as free-run
  • managed jobs that are govern by state machine. Such jobs could have multiple dependencies on other jobs

Synergy Scheduler hosts multiple state-machines. Each process is allowed to chose its governing state machine, that supervises job's life-cycle: from STATE_EMBRYO thru STATE_IN_PROGRESS and STATE_FINAL_RUN to STATE_PROCESSED (or STATE_SKIPPED in case of a failure). Most likely that multiple tasks (or unit_of_work) will be issued during job's life-span. They also have multiple states and cover task life-cycle: from state STATE_REQUESTED thru STATE_IN_PROGRESS to either STATE_PROCESSED or STATE_CANCELED or STATE_INVALID.

Use-cases

  1. Installation Go to
  2. General principles of work Go to
  3. Examples: site hourly aggregator Go to
  4. Lifecycle for continuous state machine Go to
  5. Lifecycle for discrete state machine Go to
  6. Lifecycle for simplified discrete state machine Go to
  7. Lifecycle for unit_of_work Go to
  8. Scheduler MX Go to
  9. Process Supervisor Go to
  10. Instruction: adding new vertical to the Scheduler Go to