Skip to content

background_jobs: queue, workers, and enqueue path #44

Description

@leseb

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Fields

    No fields configured for Task.

    Projects

    Status
    Done

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions