: (unit -> unit) option | ; | ||||
: Types.Job_pool.t | ; | ||||
: Types.Job_queue.t | ; | ||||
: Types.Job_queue.t | ; | ||||
: Types.Execution_context.t | ; | ||||
: Types.Execution_context.t | ; | ||||
: Core_kernel.Std.Error.t option | ; | ||||
: int | ; | ||||
: Async_kernel.Import.Time_ns.t | ; | ||||
: (unit -> unit) list | ; | ||||
: Async_kernel.Import.Time_ns.Span.t | ; | ||||
: int | ; | ||||
: Types.Job.t Core_kernel.Std.Timing_wheel_ns.t | ; | ||||
: Types.Job.t Core_kernel.Std.Timing_wheel_ns.Alarm.t -> unit | ; | ||||
: Types.External_job.t Core_kernel.Std.Thread_safe_queue.t | ; | ||||
: unit -> unit | ; | ||||
: (Async_kernel.Priority.t -> unit) option | ; | ||||
: (Async_kernel.Import.Time_ns.t -> unit) option | ; | ||||
: unit Types.Ivar.t option | ; | ||||
: bool | ; | ||||
: Async_kernel.Import.Max_num_jobs_per_priority_per_cycle.t | ; | ||||
: bool | ; |
: (unit -> unit) option | ; | ||||
: Async_kernel.Job_pool.t | ; | ||||
: Async_kernel.Job_queue.t | ; | ||||
: Async_kernel.Job_queue.t | ; | ||||
: Async_kernel.Execution_context.t | ; | ||||
: Async_kernel.Execution_context.t | ; | ||||
: Core_kernel.Std.Error.t option | ; | ||||
: int | ; | ||||
: Async_kernel.Import.Time_ns.t | ; | ||||
: (unit -> unit) list | ; | ||||
: Async_kernel.Import.Time_ns.Span.t | ; | ||||
: int | ; | ||||
: Async_kernel.Job.t Core_kernel.Std.Timing_wheel_ns.t | ; | ||||
: Async_kernel.Job.t Core_kernel.Std.Timing_wheel_ns.Alarm.t -> unit | ; | ||||
: Async_kernel.External_job.t Core_kernel.Std.Thread_safe_queue.t | ; | ||||
: unit -> unit | ; | ||||
: (Async_kernel.Priority.t -> unit) option | ; | ||||
: (Async_kernel.Import.Time_ns.t -> unit) option | ; | ||||
: unit Async_kernel.Types.Ivar.t Core_kernel.Std.sexp_opaque option | ; | ||||
: bool | ; | ||||
: Async_kernel.Import.Max_num_jobs_per_priority_per_cycle.t | ; | ||||
: bool | ; |
start_cycle t ~max_num_jobs_per_priority
enables subsequent calls of run_jobs
to run up to max_num_jobs_per_priority
jobs of each priority level.
run_jobs t
removes jobs from t
one at a time and runs them, stopping as soon
as an unhandled exception is raised, or when no more jobs can be run at any priority,
as per ~max_num_jobs_per_priority
.