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