Skip to content
mushkevych edited this page Oct 2, 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. State Machine Diagram: continuous Go to
  4. State Machine Diagram: discrete Go to
  5. State Machine Diagram: simplified discrete Go to
  6. Lifecycle for unit_of_work Go to
  7. Scheduler MX Go to
  8. Process Supervisor Go to
  9. Know-how: site_hourly_aggregator is configured and works Go to
  10. Know-how: add a new tree/process Go to