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