module Throttle: Throttletype t
val sexp_of_t : t -> Sexplib.Sexp.tval invariant : t -> unitval create : continue_on_error:bool -> max_concurrent_jobs:int -> tcreate ~continue_on_error ~max_concurrent_jobs returns a throttle that will runs up
to max_concurrent_jobs concurrently.
If some job raises an exception, then the throttle will stop, unless
continue_on_error is true.
type'aoutcome =[ `Aborted | `Ok of 'a | `Raised of exn ]
module Job:sig..end
val enqueue_job : t -> 'a Job.t -> unitval enqueue' : t -> (unit -> 'a Deferred.t) -> 'a outcome Deferred.tenqueue t ~monitor job schedules job to be run as soon as possible. Jobs are
guaranteed to be started in the order they are enqueued.
enqueue raises an exception if the throttle is dead.
val enqueue : t -> (unit -> 'a Deferred.t) -> 'a Deferred.tval prior_jobs_done : t -> unit Deferred.tmodule Sequencer:sig..end