feat: cap queued jobs per concurrency key on cloud (#10197)

* feat: cap queued jobs per concurrency key on cloud

* fix: close preprocessed-flow bypass and bound concurrency cap scan

* fix: only cap concurrency keys with an active concurrent_limit

* chore: only load concurrency key cap setting when cloud hosted

* fix: reject queued-job import on cloud
This commit is contained in:
Ruben Fiszel
2026-07-20 12:33:40 +02:00
committed by GitHub
parent 1abfe49f7e
commit 71f2d47cb4
17 changed files with 446 additions and 45 deletions
@@ -426,6 +426,18 @@ export const settings: Record<string, Setting[]> = {
cloudonly: false,
ee_only: 'Workspace fairness is an Enterprise feature.',
hideInQuickSetup: true
},
{
label: 'Max jobs queued per concurrency key',
description:
'Rejects new jobs once this many are already queued behind one concurrency key. Jobs sharing a key run at most <em>concurrent limit</em> at a time regardless of spare worker capacity, so a caller pushing faster than the key drains grows a backlog no capacity can absorb. Scoped per key, so a runaway producer cannot block the rest of the workspace. Set 0 to disable. Default 10000.',
key: 'concurrency_key_max_queued_jobs',
fieldType: 'number',
placeholder: '10000',
storage: 'setting',
cloudonly: true,
ee_only: '',
hideInQuickSetup: true
}
],
'Object Storage': [