You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit f493d0a
Browse filesBrowse the repository at this point in the historyBrowse files
feat(core,webapp): version-discriminated queue reads, combined never ships
Queue reads now report a version that discriminates the shape. V1 queues
keep today's fields exactly (their own concurrencyLimit and its override
state) so nothing existing breaks; V2 queues are only the line runs wait
in and carry no queue-level concurrency, since their limits are read and
overridden through concurrencyLimits (concurrencyLimit stays as null so
older clients keep parsing). The combined block is gone from the public
schema entirely. The public queue routes now serialize through the schema,
so dashboard-only extras can never leak onto the wire; the dashboard reads
configured bounds from a presenter-attached limits object instead of the
public fields.
`perKey` caps each `concurrencyKey` pool and `total` caps across everything, keys or not. The queue-level `concurrencyLimit` option keeps working unchanged and is deprecated in favor of `concurrency`. Enforcement happens server-side; servers without support accept the option but do not enforce it yet.
22
22
23
23
Manage limits at runtime with the new `concurrencyLimits` namespace: `list()` and `retrieve(name)` report each limit's bounds plus its live `running` and `queued` counts, `override(name, { perKey, total })` changes only the given bounds (overriding `total` to `0` pauses the limit), and `reset(name)` restores the declared values.
24
+
25
+
Queue reads (`queues.list()` and `queues.retrieve()`) now report a `version` that discriminates the shape: `V1` queues keep today's fields (their own `concurrencyLimit` and its override state), while `V2` queues (tasks declared with `concurrency`) carry no queue-level concurrency, since their limits are read and overridden through `concurrencyLimits`.
0 commit comments