Add single-active-consumer priority and cancel tracking to virtual transports
Add single-active-consumer semantics, consumer priority selection, cancel notifications, and lifecycle tracking to virtual transports.
kombu-single-active-consumer-priority
Normalized profile
What this task asks for
Add single-active-consumer semantics, consumer priority selection, cancel notifications, and lifecycle tracking to virtual transports. When a queue is declared with `x-single-active-consumer: True` in its queue arguments, at most one consumer receives messages at a time. `Channel.basic_consume` supports consumer priority via `x-priority` in consumer arguments (default 0) and an optional `on_cancel` callback. Consumer state must live in `BrokerState` (shared across channels), not per-channel. The `connection._callbacks[queue]` entry must dispatch to the correct consumer at delivery time, not simply store the last registered callback. When a higher-priority consumer registers on a SAC queue where a lower-priority consumer is active, the lower-priority consumer is demoted and its `on_cancel` fires. Transports with class-level `global_state` (memory, filesystem, pyro) must clear consumer state when a new Transport is created, since registrations must not leak across connections.
Intent
- feature implementation
- configuration tuning
- data transformation
- bug repair
Work surfaces
- filesystem
Technology
- Kombu
Expected artifacts
- repository patch
What makes it difficult
- quantitative performance, accuracy, or resource constraints
Published evidence
Model × harness outcomes
Counts are tied to these exact configurations. Harnesses are not treated as equivalent across benchmarks.
- Models
- 13
- Configurations
- 41
- Trials
- 164
Showing 41 of 41 configurations
| Model | Harness | Effort | Result | Passes |
|---|---|---|---|---|
| claude-fable-5vertex_ai | mini-swe-agentpublished configuration | low | Mixed | 2/4 |
| claude-fable-5vertex_ai | mini-swe-agentpublished configuration | medium | Mixed | 2/4 |
| claude-fable-5vertex_ai | mini-swe-agentpublished configuration | high | Mixed | 3/4 |
| claude-fable-5vertex_ai | mini-swe-agentpublished configuration | xhigh | Mixed | 2/4 |
| claude-fable-5vertex_ai | mini-swe-agentpublished configuration | max | All passed | 4/4 |
| claude-opus-4-8anthropic | mini-swe-agentpublished configuration | low | All passed | 4/4 |
| claude-opus-4-8anthropic | mini-swe-agentpublished configuration | medium | All passed | 4/4 |
| claude-opus-4-8anthropic | mini-swe-agentpublished configuration | high | Mixed | 3/4 |
| claude-opus-4-8anthropic | mini-swe-agentpublished configuration | xhigh | Mixed | 3/4 |
| claude-opus-4-8anthropic | mini-swe-agentpublished configuration | max | Mixed | 1/4 |
| claude-sonnet-4-6anthropic | mini-swe-agentpublished configuration | high | No passes | 0/4 |
| claude-sonnet-5anthropic | mini-swe-agentpublished configuration | low | No passes | 0/4 |
| claude-sonnet-5anthropic | mini-swe-agentpublished configuration | medium | No passes | 0/4 |
| claude-sonnet-5anthropic | mini-swe-agentpublished configuration | high | No passes | 0/4 |
| claude-sonnet-5anthropic | mini-swe-agentpublished configuration | xhigh | No passes | 0/4 |
| claude-sonnet-5anthropic | mini-swe-agentpublished configuration | max | No passes | 0/4 |
| gemini-3-1-pro-previewvertex_ai | mini-swe-agentpublished configuration | high | No passes | 0/4 |
| gemini-3-5-flashvertex_ai | mini-swe-agentpublished configuration | medium | Mixed | 2/4 |
| glm-5-2zai | mini-swe-agentpublished configuration | high | Mixed | 1/4 |
| glm-5-2zai | mini-swe-agentpublished configuration | max | No passes | 0/4 |
| gpt-5-4openai | mini-swe-agentpublished configuration | xhigh | Mixed | 1/4 |
| gpt-5-5openai | mini-swe-agentpublished configuration | low | Mixed | 3/4 |
| gpt-5-5openai | mini-swe-agentpublished configuration | medium | All passed | 4/4 |
| gpt-5-5openai | mini-swe-agentpublished configuration | high | Mixed | 3/4 |
| gpt-5-5openai | mini-swe-agentpublished configuration | xhigh | All passed | 4/4 |
| gpt-5-6-lunaopenai | mini-swe-agentpublished configuration | low | No passes | 0/4 |
| gpt-5-6-lunaopenai | mini-swe-agentpublished configuration | medium | Mixed | 1/4 |
| gpt-5-6-lunaopenai | mini-swe-agentpublished configuration | high | Mixed | 3/4 |
| gpt-5-6-lunaopenai | mini-swe-agentpublished configuration | xhigh | Mixed | 3/4 |
| gpt-5-6-lunaopenai | mini-swe-agentpublished configuration | max | Mixed | 2/4 |
| gpt-5-6-solopenai | mini-swe-agentpublished configuration | low | All passed | 4/4 |
| gpt-5-6-solopenai | mini-swe-agentpublished configuration | medium | All passed | 4/4 |
| gpt-5-6-solopenai | mini-swe-agentpublished configuration | high | All passed | 4/4 |
| gpt-5-6-solopenai | mini-swe-agentpublished configuration | xhigh | All passed | 4/4 |
| gpt-5-6-solopenai | mini-swe-agentpublished configuration | max | All passed | 4/4 |
| gpt-5-6-terraopenai | mini-swe-agentpublished configuration | low | No passes | 0/4 |
| gpt-5-6-terraopenai | mini-swe-agentpublished configuration | medium | Mixed | 2/4 |
| gpt-5-6-terraopenai | mini-swe-agentpublished configuration | high | Mixed | 1/4 |
| gpt-5-6-terraopenai | mini-swe-agentpublished configuration | xhigh | Mixed | 2/4 |
| gpt-5-6-terraopenai | mini-swe-agentpublished configuration | max | All passed | 4/4 |
| kimi-k2-7-codeopenrouter | mini-swe-agentpublished configuration | default | Mixed | 1/4 |