Tasker
Workflow orchestration that meets your code where it lives.
Tasker is an open-source workflow orchestration engine built on PostgreSQL and PGMQ. You define workflows as task templates with ordered steps, implement handlers in Rust, Ruby, Python, or TypeScript, and the engine handles execution, retries, circuit breaking, and observability.
Your existing business logic — API calls, database operations, service integrations — becomes a distributed, event-driven, retryable workflow with minimal ceremony. No DSLs to learn, no framework rewrites. Just thin handler wrappers around code you already have.
Get Started
From zero to your first workflow. Install, write a handler, define a template, submit a task, and watch it run.
An honest look at where Tasker fits in the workflow orchestration landscape — and where established tools might be a better choice.
How Tasker works under the hood: actors, state machines, event systems, circuit breakers, and the PostgreSQL-native execution model.
Complete reference for all 246 configuration parameters across orchestration, workers, and shared settings.
Choose Your Language
Tasker is polyglot from the ground up. The orchestration engine is Rust; workers can be any of four languages, all sharing the same core abstractions expressed idiomatically.
| Language | Package | Install | Registry |
|---|---|---|---|
| Rust | tasker-client / tasker-worker | cargo add tasker-client tasker-worker | crates.io |
| Ruby | tasker-rb | gem install tasker-rb | rubygems.org |
| Python | tasker-py | pip install tasker-py | pypi.org |
| TypeScript | @tasker-systems/tasker | npm install @tasker-systems/tasker | npmjs.com |
Each language guide covers installation, handler patterns, testing, and production considerations:
Rust · Ruby · Python · TypeScript
Explore the Documentation
For New Users
- Core Concepts — Tasks, steps, handlers, templates, and namespaces
- Choosing Your Package — Which package do you need?
- Quick Start — Running in 5 minutes
Architecture & Design
- Architecture Overview — System design and component interaction
- Design Principles — The tenets behind Tasker’s design decisions
- Architectural Decisions — ADRs documenting key technical choices
Operational Guides
- Handler Resolution — How Tasker finds and runs your handlers
- Retry Semantics — Retry strategies, backoff, and circuit breaking
- Batch Processing — Processing work in batches
- DLQ System — Dead letter queue for failed tasks
- Observability — Metrics, tracing, and logging
Reference
- Configuration Reference — All 246 parameters documented
- Worker API Convergence — Cross-language API alignment
- FFI Safety — How polyglot workers communicate safely
Framework Integrations
- Contrib Packages — Rails, FastAPI, Axum, and Bun integrations
- Example Workflows — E-commerce, ETL, and approval system patterns
Engineering Stories
A progressive-disclosure blog series teaching Tasker concepts through real-world scenarios. Each story follows an engineering team as they adopt workflow orchestration, with working code examples across all four languages.
| Story | What You’ll Learn |
|---|---|
| 01: E-commerce Checkout | Basic workflows, error handling, retry patterns |
| 02: Data Pipeline Resilience | ETL orchestration, resilience under failure |
| 03: Microservices Coordination | Cross-service workflows, distributed tracing |
| 04: Team Scaling | Namespace isolation, multi-team patterns |
| 05: Observability | OpenTelemetry integration, domain events |
| 06: Batch Processing | Batch step patterns, throughput optimization |
| 07: Conditional Workflows | Decision handlers, approval flows |
| 08: Production Debugging | DLQ investigation, diagnostics tooling |
Stories are being rewritten for the current Tasker architecture. View archive →
The Project
Tasker is open-source software (MIT license) built by an engineer who has spent years designing workflow systems at multiple organizations — and finally had the opportunity to build the one that was always in his head.
It’s not venture-backed. It’s not chasing a market. It’s a labor of love built for the engineering community.
Source Repositories
| Repository | Description |
|---|---|
| tasker-core | Rust orchestration engine, polyglot workers, and CLI |
| tasker-contrib | Framework integrations and community packages |
| tasker-book | This documentation site |