
Agent Task Queue
https://github.com/block/agent-task-queue- Category
- AI Agents
- Rank
- No. 1421Tools index
Previous survey · No. 1427 ·
- Pricing
- Open Source
- Type
- TOOL
- Builder
- block
- GitHub
- 68 stars
- Latest release
- v0.4.1
- Date
About
Local task queue for AI agents that prevents multiple agents from running expensive operations concurrently and thrashing your machine.
What it does
Agents submit shell commands through MCP and wait while a SQLite-backed coordinator assigns execution slots. A single FIFO lane handles everything by default. Named lanes separate unrelated work, while hierarchical scopes can cap parallel activity across related lanes. Commands run from a specified directory with optional environment variables and execution limits.
Why it's ranked here
This solves a narrow coordination problem with unusually practical safeguards. FIFO ordering is explicit, queue waits do not consume execution timeouts, and dead processes or stale locks are cleaned up. Hierarchical capacity controls support limited parallelism without abandoning shared resource limits. The main caveat is operational: every entrypoint sharing the database must receive matching capacity settings.
What's good
The same queue state serves MCP clients, a command-line interface, an IntelliJ view, and a desktop dashboard. Per-task logs preserve output for inspection. Custom lanes isolate workloads, while parent scopes constrain their combined concurrency. Process identifiers and instance identifiers help detect crashes, reused identifiers, disconnected clients, and orphaned subprocesses.
Tradeoffs
Capacity overrides live only in each process and are not stored in SQLite, so inconsistent launch flags produce inconsistent limits. FIFO applies within an exact lane, not across siblings competing under one parent. Waiting can continue indefinitely. Capacity covers an entire command, so workflows with shared preparation and parallel device execution must split those phases manually.
How to use it well
Use it when several coding agents share one workstation and regularly launch builds, test suites, containers, or emulator jobs. Start with one lane, then add named lanes only for work that can safely overlap. Use hierarchical limits for bounded fan-out. It coordinates command execution; it does not make every agent prefer the MCP path automatically, so some clients need explicit guidance.
Technical notes+
pyproject.toml packages task_queue.py, tq.py, and queue_core.py with Hatchling, requires Python 3.10+, and exposes the agent-task-queue and tq scripts. task_queue.py implements the FastMCP server, tracks active requests, writes retained output, and reaps orphaned work. queue_core.py owns the SQLite schema, WAL connections, migrations, queue normalization, hierarchical scope accounting, and task-origin metadata. tq.py provides queue inspection, clearing, logs, and queued command execution, including JSON output modes. intellij-plugin/src/main/kotlin/com/block/agenttaskqueue/ui/TaskQueuePanel.kt presents live queue state, while desktop-sidecar/src/desktopMain/kotlin/com/block/agenttaskqueue/sidecar/Main.kt supplies a Compose Multiplatform dashboard over the same database.
Observed
- License
- Apache-2.0
- Languages
- Python for the server and CLI; Kotlin for the IntelliJ plugin and desktop sidecar
- Packaging
- PyPI package built with Hatchling and runnable through uvx
- Interfaces
- MCP server plus agent-task-queue and tq command-line entrypoints
- State storage
- Local SQLite database using WAL mode
- Runtime requirement
- Python 3.10 or newer
Read from README.md, pyproject.toml, tq.py, queue_core.py, task_queue.py, intellij-plugin/src/main/kotlin/com/block/agenttaskqueue/TaskQueueIcons.kt, intellij-plugin/src/main/kotlin/com/block/agenttaskqueue/ui/OutputPanel.kt, intellij-plugin/src/main/kotlin/com/block/agenttaskqueue/model/QueueTask.kt, intellij-plugin/src/main/kotlin/com/block/agenttaskqueue/ui/TaskQueuePanel.kt, intellij-plugin/src/main/kotlin/com/block/agenttaskqueue/data/TaskCanceller.kt, intellij-plugin/src/main/kotlin/com/block/agenttaskqueue/model/QueueSummary.kt, desktop-sidecar/src/desktopMain/kotlin/com/block/agenttaskqueue/sidecar/Main.kt, intellij-plugin/src/main/kotlin/com/block/agenttaskqueue/data/OutputStreamer.kt, intellij-plugin/src/main/kotlin/com/block/agenttaskqueue/data/TaskQueuePoller.kt, intellij-plugin/src/main/kotlin/com/block/agenttaskqueue/model/TaskQueueModel.kt.
What it can do
Queue AI agent tasks for sequential execution
AI agent tasks and operations → Ordered task queue
Prevent concurrent execution of expensive operations
Multiple resource-intensive AI agent requests → Serialized task execution
Monitor and control AI agent resource usage
AI agent operations and system resources → Resource usage metrics and controls
Manage task priorities in the queue
Tasks with priority levels → Prioritized execution order
Track task execution status
Queued and running tasks → Task status and progress information
Tags
Tech Stack
Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.