sig
type t
val invariant : Throttle.t -> unit
val create :
continue_on_error:bool -> max_concurrent_jobs:int -> Throttle.t
type 'a outcome = [ `Aborted | `Ok of 'a | `Raised of exn ]
module Job :
sig
type 'a t
val create : (unit -> 'a Deferred.t) -> 'a Throttle.Job.t
val result : 'a Throttle.Job.t -> 'a Throttle.outcome Deferred.t
end
val enqueue_job : Throttle.t -> 'a Throttle.Job.t -> unit
val enqueue' :
Throttle.t -> (unit -> 'a Deferred.t) -> 'a Throttle.outcome Deferred.t
val enqueue : Throttle.t -> (unit -> 'a Deferred.t) -> 'a Deferred.t
val prior_jobs_done : Throttle.t -> unit Deferred.t
val num_jobs_waiting_to_start : Throttle.t -> int
module Sequencer :
sig
type 'a t
val create : ?continue_on_error:bool -> 'a -> 'a Throttle.Sequencer.t
val enqueue :
'a Throttle.Sequencer.t -> ('a -> 'b Deferred.t) -> 'b Deferred.t
val num_jobs_waiting_to_start : 'a Throttle.Sequencer.t -> int
end
val sexp_of_t : Throttle.t -> Sexplib.Sexp.t
val ounit_tests : unit -> OUnit.test
end