Skip to main content
Version: v5.6.1

Fleet queue entry

Included from Basic tier

One dispatch-plane entry as GET /api/fleet/queue (admin token) serves it: a step the scheduler currently carries — parked ready or held by a live lease — annotated with its placement verdict. This page is the field dictionary only; the narrative (where entries come from, the verdict ladder, the levers, failure modes) lives at opschain docs fleet-queue and is not repeated here.

The v2 OpenAPI document declares this resource's schema; the resource-field coverage gate holds this page to it.

The response envelope is {"entries": [...], "halted": ..., "quiesced": ..., "quiesced_by": ..., "quiesced_at": ...} — see opschain docs fleet-queue for the envelope fields.

Entry fields​

FieldTypeMeaningOrigin / null semantics
run_idstringThe owning run (change or workflow run).From the queue payload written at enqueue.
step_idstringThe step this entry dispatches.Same.
attemptintThe attempt number — a retried step re-enters as a new attempt.Same.
queuestringThe scheduler's internal dispatch-queue name (default today; reserved for future named queues).The queue_ready / scheduler_job_leases row.
ready_attimestampWhen the entry became (or becomes) eligible — backoff retries park with a future value.Queue payload. Always present.
leasedboolfalse: parked ready in queue_ready. true: a runner holds the job lease (scheduler_job_leases).Which table the entry was read from.
requirementobjectThe step's placement demand, resolved once at enqueue (later settings edits never reclassify queued work). Serialized {} when it demands nothing. Sub-fields below.Queue payload.
satisfiableboolWhether anything can take the entry right now. Always true on leased entries; on ready entries, true exactly when reason is empty.Computed per read.
reasonstringWhy the entry is not dispatching — the verdict ladder's first match (halt, system quiesce, licence stop, replica quiesce, the pinned-runner verdict, then the placement verdicts). Absent (omitted) when satisfiable, and always absent on leased entries.Computed per read; strings quoted verbatim in opschain docs fleet-queue.
pinned_runnerstringThe runner this entry's run is pinned to (run-scoped execution); the entry is only ever offered to it. Omitted when unpinned.The scheduler's scheduler_run_pins row, joined per read.
run_scopedboolWhether the entry's run is run-scoped — one runner, one shared workspace: the run pins to the first runner that takes one of its steps. Omitted when false.Queue payload, classified at enqueue.
scope_sourcestringWhy the run's execution scope resolved as it did: runner.execution_scope override when the setting decided it, else the derivation's deciding fact — derived: actions.rb-backed tree (discovered/catalog change), derived: ruby-lane steps present (a declared tree the creation census found an actions.rb#/mintpress# step in), derived: declarative tree, or derived: workflow runs are never pinned. The actions.rb/ruby-lane values are only applicable to existing MintPress customers and those using the MintPress SDK or the packs:mintpress feature. Omitted when the owning run could not be read at enqueue.Queue payload, classified at enqueue.
owner_typestringThe owning work item's kind: change, workflow_run or node_background_task (a task's synthetic job carries the task id as run_id). The owner's id IS run_id.Resolved per read across the three owning tables in one indexed statement. Omitted — with every other owner field — when run_id matches no owning row this store holds.
owner_statusstringThe owner's current status: a run's engine status (pending/queued/running/waiting/…), or the task's status_code.Same resolution. Omitted when the owner is unresolved.
owner_terminalboolWhether the owner is already finalised. A parked entry with a finalised owner is an orphan — SweepQueueOrphans / opschain admin queue sweep clears it.Classified against the owner kind's live set (pending/queued/running/waiting for runs, initializing/running for tasks). Omitted when false or unresolved.
target_pathstringThe owner's target node path.The change's target node / the run record's target path / the task's asset node. Omitted when the owner is unresolved.
correlation_idstringThe owner's correlation chain id, computed read-time as coalesce(correlation_id, id) for runs.Omitted for node background tasks (no chain) and unresolved owners.

The scheduler's internal QueueEntry also carries a priority; it is not serialized into this payload.

requirement sub-fields (all omitted when empty)​

FieldTypeDemand
groupstringThe runner's group must equal this name.
groupsstring arrayThe runner's group must be one of this set (the node-path-binding shape).
labelsstring arrayEvery listed label must be present on the runner.
executorsstring arrayEvery listed executor kind must be advertised by the runner (the step's own kind is folded in at enqueue).
selectorsmap of string → string arrayGroup-attribute demands: each key must resolve to a runner-group attribute whose value is in the key's list (equality and in-set only).
  • opschain docs fleet-queue — the full narrative: enqueue, the verdict ladder with every reason string verbatim, requirement resolution order, levers and failure modes, and the termination / orphan-sweep verbs.
  • opschain docs dispatch — the scheduler behind the queue.
  • opschain docs cli/admin-queue-list — the same entries (typed, via the API v2 FleetQueueService) with the owner columns rendered.