sig
module Priority :
sig
type t
val normal : Jobs.Priority.t
val low : Jobs.Priority.t
val to_string : Jobs.Priority.t -> string
val sexp_of_t : Jobs.Priority.t -> Sexplib.Sexp.t
end
type 'job t
val invariant : 'a Core.Std.Invariant.inv -> 'a t Core.Std.Invariant.inv
val create : unit -> 'a Jobs.t
val length : 'a Jobs.t -> int
val is_empty : 'a Jobs.t -> bool
val add : 'job Jobs.t -> Jobs.Priority.t -> 'job -> unit
val clear : 'a Jobs.t -> unit
val start_cycle : 'a Jobs.t -> max_num_jobs_per_priority:int -> unit
val force_current_cycle_to_end : 'a Jobs.t -> unit
val run_all :
'job Jobs.t -> ('job -> unit) -> (unit, exn) Core.Std.Result.t
val sexp_of_t : ('job -> Sexplib.Sexp.t) -> 'job Jobs.t -> Sexplib.Sexp.t
end