Module Scheduler

module Scheduler: sig .. end
Scheduler.

The scheduler looks for task, job and worker events in the store and distribute work to the workers.


module type S = sig .. end
The signature for schedulers.
module Task: S  with type value := Task.t
Task scheduler.
module Job: sig .. end
Job scheduler.
module Worker: S  with type value := Worker.t
Worker scheduler.
val start : Store.t -> unit Lwt.t
Start all the schedulers.