March Docs

Conduit.QueueControl

Conduit.QueueControl — per-node queue pause / resume.

Pausing a queue stops workers on this node from fetching new jobs from it. In-flight jobs are not interrupted; they run to completion. The pause is local to the current OS process — for cluster-wide pause, call pause_queue on each node or add a paused column to the queue row in the storage backend.

State is stored in a Vault table so it is visible to all worker tasks in the same process without any DB round-trip.

Functions

fnis_pausedis_paused(queue : String) : Bool#

Return true if queue is currently paused on this node.

fnpausepause(queue : String) : ()#

Pause all workers polling queue on this node.

Workers check this flag at the top of each poll loop.  They will finish
any job currently in-flight and then stop fetching until `resume` is called.
fnresumeresume(queue : String) : ()#

Resume a previously paused queue.

Workers will start fetching jobs from `queue` on their next poll cycle.