Parent
Part of #32
Scope
- Filter skeleton: module, config, registry registration,
on_request
- Bounded channel queue (capacity configurable, default 100)
- Long-lived tokio worker tasks (configurable count, default 10) pulling from queue
- On
background=true: store response with status=queued, return immediately with queued response object
- Worker picks up request, runs full filter chain, updates store on completion
- Per-request timeout (configurable, default 5 minutes)
- Handle
QueueFull → reject (no orphaned queued responses in storage)
- Polling: clients GET the response to check status
- Unit + integration tests
Why first
The queue and worker infrastructure is the foundation. Cancellation (#504) depends on being able to reference queued/in-progress worker tasks.
Reference
Parent
Part of #32
Scope
on_requestbackground=true: store response withstatus=queued, return immediately with queued response objectQueueFull→ reject (no orphaned queued responses in storage)Why first
The queue and worker infrastructure is the foundation. Cancellation (#504) depends on being able to reference queued/in-progress worker tasks.
Reference