Introduction
TaskDaemon is a high-performance, polyglot task processing system built in Rust. Execute task handlers written in any language via containerized workers.Why TaskDaemon?
Language Freedom
Write handlers in Python, Node.js, Go, Rust, C++, Java, C#, or any language
Container Isolation
Each handler runs in its own container with resource limits
High Performance
Rust core with pre-warmed container pools for sub-10ms latency
Production Ready
Persistent queue, automatic retries, Prometheus metrics
Key Features
- Task Selection Strategies - FIFO, LIFO, or Priority-based task ordering
- Handler Selection Strategies - Round-robin, first-available, or random container selection
- HybridQueue - In-memory queue with SQLite persistence for speed + durability
- Priority Tasks - Queue tasks with priority 0-100 for urgent processing
- Prometheus Metrics - Built-in observability with container pool metrics
How It Works

- Client submits a task via HTTP or gRPC
- TaskDaemon queues the task (with optional priority)
- Worker picks up task based on selection strategy
- Handler container processes task and returns result
- Result stored and available via API
Quick Example
Handler SDKs
Official SDKs are available for:| Language | Package |
|---|---|
| Python | pip install taskdaemon |
| Node.js | npm install @taskdaemon/handler |
| Go | go get github.com/taskdaemon/handler-go |
| Rust | cargo add taskdaemon-handler |
| C++ | Header-only: taskdaemon.hpp |
| Java | Maven/Gradle: com.taskdaemon:handler |
| C# | dotnet add package TaskDaemon.Handler |