Module Sihl__.Contract_queue

exception Exception of string
type instance_status =
| Pending
| Succeeded
| Failed
| Cancelled
val pp_instance_status : Ppx_deriving_runtime.Format.formatter -> instance_status -> Ppx_deriving_runtime.unit
val show_instance_status : instance_status -> Ppx_deriving_runtime.string
type instance = {
id : string;
name : string;
input : string;
tries : int;
next_run_at : Ptime.t;
max_tries : int;
status : instance_status;
last_error : string option;
last_error_at : Ptime.t option;
}
val pp_instance : Ppx_deriving_runtime.Format.formatter -> instance -> Ppx_deriving_runtime.unit
val show_instance : instance -> Ppx_deriving_runtime.string
type 'a job = {
name : string;
encode : 'a -> string;
decode : string -> ('a, string) Result.t;
handle : 'a -> (unit, string) Result.t Lwt.t;
failed : string -> instance -> unit Lwt.t;
max_tries : int;
retry_delay : Ptime.Span.t;
}
val pp_job : a. (Ppx_deriving_runtime.Format.formatter -> 'a -> Ppx_deriving_runtime.unit) -> Ppx_deriving_runtime.Format.formatter -> 'a job -> Ppx_deriving_runtime.unit
val show_job : a. (Ppx_deriving_runtime.Format.formatter -> 'a -> Ppx_deriving_runtime.unit) -> 'a job -> Ppx_deriving_runtime.string
type job' = {
name : string;
handle : string -> (unit, string) Result.t Lwt.t;
failed : string -> instance -> unit Lwt.t;
max_tries : int;
retry_delay : Ptime.Span.t;
}
val pp_job' : Ppx_deriving_runtime.Format.formatter -> job' -> Ppx_deriving_runtime.unit
val show_job' : job' -> Ppx_deriving_runtime.string
val hide : 'a job -> job'
val should_run : instance -> Ptime.t -> bool
val default_tries : int
val default_retry_delay : Ptime.span
val default_error_handler : string -> instance -> unit Lwt.t
val create_job : ('a -> (unit, string) Result.t Lwt.t) -> ?⁠max_tries:int -> ?⁠retry_delay:Ptime.Span.t -> ?⁠failed:(string -> instance -> unit Lwt.t) -> ('a -> string) -> (string -> ('a, string) Result.t) -> string -> 'a job
val name : string
module type Sig = sig ... end