feat(gateway): complete openclaw phase1 queue parity v2
This commit is contained in:
@@ -804,27 +804,39 @@ Per-session FIFO queue policy for concurrent gateway requests (`agent.send`).
|
||||
```yaml
|
||||
server:
|
||||
queue:
|
||||
mode: collect # collect | steer | interrupt
|
||||
mode: collect # collect | followup | steer | steer_backlog | interrupt
|
||||
cap: 50 # max pending requests per session lane
|
||||
overflow: drop_old # drop_old | drop_new
|
||||
debounce_ms: 0 # delay before running next queued item
|
||||
summarize_overflow: true
|
||||
overrides:
|
||||
channels:
|
||||
ws:
|
||||
mode: steer
|
||||
mode: followup
|
||||
cap: 10
|
||||
sessions:
|
||||
ws:vip-user:
|
||||
mode: interrupt
|
||||
overflow: drop_new
|
||||
debounce_ms: 100
|
||||
```
|
||||
|
||||
Notes:
|
||||
- `collect` keeps all queued requests (subject to `cap`).
|
||||
- `steer` and `interrupt` keep only the latest pending request while one is active.
|
||||
- `followup` keeps at most one pending item while a request is active; newer followups replace older pending items.
|
||||
- `steer` and `steer_backlog` replace pending backlog with the newest request while one is active.
|
||||
- `interrupt` uses steer-backlog queueing behavior; active work still requires `agent.cancel` for best-effort cancellation.
|
||||
- `interrupt` currently does not force-stop already running work; use `agent.cancel` for active cancellation.
|
||||
- `debounce_ms` delays the next queued execution, helping collapse bursty same-session traffic.
|
||||
- `summarize_overflow` enables richer overflow error messages and payload metadata.
|
||||
- On overflow, `drop_old` evicts the oldest pending request, `drop_new` rejects the new request.
|
||||
- Override precedence: exact `sessions` match first, then `channels`.
|
||||
|
||||
Runtime session controls from chat commands:
|
||||
- `/queue` shows effective session queue policy.
|
||||
- `/queue set <mode|cap|overflow|debounce_ms|summarize_overflow> <value>` sets a per-session override.
|
||||
- `/queue reset` clears per-session queue overrides.
|
||||
|
||||
## Gateway Request Body Limit
|
||||
|
||||
Cap inbound HTTP POST body size (webhooks and Gmail push) to reduce memory-DoS risk.
|
||||
|
||||
Reference in New Issue
Block a user