Skip to main content

RunnerProgressUpdate

Aggregate progress frame emitted by runnerProgressUpdates. One frame per flush from the state-store publisher — typically every 250ms while backfill jobs complete, immediately on config change. percentComplete is derived server-side as ready/totalRefs×100.

type RunnerProgressUpdate {
runnerId: ID!
generation: Int!
status: BotRunnerDataDownloadStatus!
ready: Int!
running: Int!
pending: Int!
failed: Int!
totalRefs: Int!
percentComplete: Float!
error: String
updatedAt: Time!
}

Fields

RunnerProgressUpdate.runnerId ● ID! non-null scalar

RunnerProgressUpdate.generation ● Int! non-null scalar

Monotonic counter bumped on runner-config change. Clients compare against the last-seen generation and refetch the current page on a mismatch.

RunnerProgressUpdate.status ● BotRunnerDataDownloadStatus! non-null enum

Coarse rollup of the per-target statuses for the "idle | downloading | completed" chip. Derived from counters — not a separate DB read.

RunnerProgressUpdate.ready ● Int! non-null scalar

RunnerProgressUpdate.running ● Int! non-null scalar

RunnerProgressUpdate.pending ● Int! non-null scalar

RunnerProgressUpdate.failed ● Int! non-null scalar

RunnerProgressUpdate.totalRefs ● Int! non-null scalar

RunnerProgressUpdate.percentComplete ● Float! non-null scalar

RunnerProgressUpdate.error ● String scalar

Aggregate error surface; currently unused — reserved for future use.

RunnerProgressUpdate.updatedAt ● Time! non-null scalar

Returned By

runnerProgressUpdates subscription