include sig ... endval sexp_of_t : t ‑> Sexplib.Sexp.tmodule Spoolable : Multispool_intf.Spoolable.SSet to a Spoolable module when including this module and when applying
Multispool.Make
val dir : t ‑> stringval load : ?create_if_missing:unit ‑> string ‑> t Async.Deferred.Or_error.tOpen a Multispool.t. This function will fail by default if the spool directory
does not exist, does not look like a spool, or does not contain the set of
directories named after the strings returned by Spoolable.Queue.to_dir. Pass
~create_if_missing:true to create the necessary directories.
Note that, even if ~create_if_missing:() is specified, this function will still
fail if the supplied directory is non-empty and not already a spool.
val create : string ‑> t Async.Deferred.Or_error.tOpen a Multispool.t and create the spool directory if necessary. This is
functionally identical to load ?create_if_missing:().
val list : t ‑> Spoolable.Queue.t ‑> Entry.t list Async.Deferred.Or_error.tmodule Unique_name : sig ... endval enqueue : t ‑> Spoolable.Queue.t ‑> Spoolable.t ‑> [ `Reserve of Spoolable.Name_generator.t | `Use of Unique_name.t ] ‑> Entry.t Async.Deferred.Or_error.tAdd a Spoolable.t to a queue. An Entry.t is returned, but it may make sense to
ignore it.
val with_entry : f:(Spoolable.t ‑> ([ `Save of Spoolable.t * Spoolable.Queue.t | `Remove ] * 'a) Async.Deferred.t) ‑> Entry.t ‑> 'a Async.Deferred.Or_error.tDo something with the contents of an entry within a user-supplied function f. Use
with_entry if you expect to be the only user of an Entry.t and it is an error if
the Entry.t is grabbed by another process (or otherwise disappears). See checkout
for a lower-level interface.
val with_entry' : f:(Spoolable.t ‑> ([ `Save of Spoolable.t * Spoolable.Queue.t | `Remove ] * 'a) Async.Deferred.t) ‑> Entry.t ‑> [ `Ok of 'a | `Not_found ] Async.Deferred.Or_error.tLike with_entry, but use with_entry' if you expect that another process might
race to grab an Entry.t and want straightforward handling. See checkout' for a
lower-level interface.
module Queue_reader : sig ... endInterface for iteration and waiting on queue activity. Multiple processes will not interfere with one another.
module Expert : sig ... end