Module Async_extended.Keyed_sequencer

type 'a t
val create : hashable:'a Core.Hashtbl.Hashable.t ‑> ?⁠on_exn:('a ‑> exn ‑> unit) ‑> ?⁠max_total_concurrent_jobs:int ‑> unit ‑> 'a t
val enqueue : 'a t ‑> key:'a ‑> (unit ‑> 'b Async.Deferred.t) ‑> 'b Async.Deferred.t
val has_empty_spot : 'a t ‑> key:'a ‑> bool
val run_now : 'a t ‑> key:'a ‑> (unit ‑> 'b Async.Deferred.t) ‑> [ `no_empty_spots | `running of 'b Async.Deferred.t ]