Hatchet
FrameworkFreeDistributed task queue for AI workloads.
Capabilities14 decomposed
dag-based workflow orchestration with hierarchical concurrency control
Medium confidenceHatchet executes complex multi-step workflows defined as directed acyclic graphs (DAGs) stored in the v1_dag table, with built-in hierarchical concurrency management that enforces resource limits at workflow, step, and action levels. The system uses a state machine approach for task lifecycle management (v1_task table) with automatic persistence, enabling workflows to survive service restarts and coordinate dependencies across distributed workers via gRPC streaming.
Implements hierarchical concurrency control (workflow-level, step-level, action-level semaphores) with fairness scheduling specifically optimized for LLM rate limiting, rather than generic task queue concurrency. Uses PostgreSQL partitioning for v1_task table to scale task state management without sharding application logic.
More sophisticated than Celery/RQ for concurrency fairness; lighter than Airflow/Prefect by eliminating scheduler overhead through event-driven task assignment via gRPC streaming.
event-driven workflow triggering with cel expression matching
Medium confidenceHatchet triggers workflow runs in response to external events using a CEL (Common Expression Language) expression matcher stored in v1_filter and v1_match tables. When an event is published to the system, the dispatcher evaluates CEL expressions against event payloads to determine which workflows should be triggered, enabling complex conditional logic without hardcoding trigger rules. This architecture decouples event producers from workflow definitions.
Uses CEL (Common Expression Language) for event matching instead of regex or hardcoded rules, enabling Turing-complete conditional logic while remaining sandboxed and safe. Stores filter definitions in v1_filter table, allowing triggers to be updated without redeploying workers.
More expressive than webhook path-based routing; simpler than building custom event processors with Kafka Streams or Flink.
horizontal scaling via dispatcher sharding and worker pool management
Medium confidenceHatchet scales horizontally by running multiple dispatcher instances, each managing a subset of worker connections based on worker affinity or hash-based sharding. Workers register with a specific dispatcher instance, and the system routes task assignments to the appropriate dispatcher based on worker availability. The architecture supports adding/removing dispatcher instances without downtime, with workers automatically reconnecting to available dispatchers on failure.
Implements dispatcher sharding with worker affinity-based routing, allowing horizontal scaling of task assignment throughput without central bottleneck. Workers register with specific dispatcher instances and automatically reconnect on failure.
More scalable than single-dispatcher architecture; simpler than Kafka-based task distribution but requires careful sharding configuration.
observability and telemetry with structured logging and metrics export
Medium confidenceHatchet includes built-in observability through structured logging (api/v1/server/middleware/telemetry/telemetry.go) and metrics export to OpenTelemetry-compatible backends. The system logs task execution events, worker lifecycle events, and API requests with structured fields (tenant_id, workflow_id, task_id) for easy filtering and correlation. Metrics include task latency, success rates, worker utilization, and dispatcher throughput, exported via OpenTelemetry SDK.
Implements structured logging with correlation IDs (tenant_id, workflow_id, task_id) and OpenTelemetry metrics export, enabling end-to-end tracing across dispatcher, workers, and API. Logs are JSON-formatted for easy parsing by log aggregation platforms.
More comprehensive than basic logging; simpler than custom instrumentation but requires external observability platform for full value.
postgresql-based message queue (pgmq) as alternative to rabbitmq
Medium confidenceHatchet supports PostgreSQL PGMQ as a built-in message queue alternative to RabbitMQ, eliminating the need for a separate message broker in simpler deployments. PGMQ uses PostgreSQL tables for queue storage, with the same API as RabbitMQ but without external dependencies. This is suitable for deployments where PostgreSQL is already required and operational complexity should be minimized.
Provides PostgreSQL PGMQ as a built-in message queue alternative to RabbitMQ, eliminating external broker dependencies for simpler deployments. Uses PostgreSQL tables for queue storage with the same API as RabbitMQ.
Simpler than RabbitMQ for small deployments; lower throughput but fewer operational dependencies.
workflow versioning and rollback with immutable run history
Medium confidenceHatchet stores workflow definitions with versioning, allowing multiple versions of a workflow to coexist. Each workflow run is bound to a specific workflow version, ensuring that historical runs can be replayed or analyzed against the exact workflow definition that executed them. The system maintains immutable run history in the v1_workflow_run table, preventing accidental modification of historical data.
Implements workflow versioning with immutable run history, binding each run to a specific workflow version. Enables safe workflow updates without affecting in-flight runs and maintains audit trail of all workflow changes.
More robust than unversioned workflows; simpler than full workflow state machine versioning in Temporal.
real-time task assignment via grpc streaming with worker heartbeat monitoring
Medium confidenceHatchet's dispatcher service (dispatcher_v1.go) maintains persistent gRPC streaming connections to workers, pushing task assignments in real-time rather than workers polling a queue. The dispatcher monitors worker heartbeats and automatically reassigns tasks from dead workers, implementing a pull-based model where workers declare availability and the dispatcher matches them to queued tasks. This architecture reduces latency and enables fair scheduling across heterogeneous worker pools.
Uses persistent gRPC streaming for push-based task assignment instead of pull-based polling, with automatic heartbeat-based failure detection and task reassignment. Dispatcher maintains worker registration state and matches tasks to workers based on declared availability, enabling fair scheduling without explicit queue management.
Lower latency than Redis/RabbitMQ polling-based queues; more sophisticated failure detection than simple timeout-based reassignment.
automatic task retry with exponential backoff and timeout enforcement
Medium confidenceHatchet persists task state in the v1_task table with built-in retry logic that automatically re-executes failed tasks using exponential backoff (configurable base and max multiplier). Each task has a timeout enforced at the dispatcher level; if a task exceeds its timeout, the dispatcher marks it as failed and triggers the retry mechanism. The system tracks retry count and can enforce a maximum retry limit, with all retry history persisted for debugging.
Implements dispatcher-enforced timeouts combined with automatic exponential backoff retry, with full retry history persisted in v1_task table. Decouples retry logic from worker implementation, ensuring consistent behavior across heterogeneous worker pools.
More sophisticated than simple retry loops in application code; less flexible than Temporal's activity retry policies but simpler to operate.
multi-tenant workflow isolation with configurable resource limits
Medium confidenceHatchet implements complete data isolation per tenant at the database level, with all tables partitioned or filtered by tenant_id. The system supports configurable resource limits per tenant (concurrency limits, rate limits, storage quotas) enforced at the API and dispatcher layers. Tenants cannot access each other's workflows, runs, or events, and resource consumption is tracked separately for billing and enforcement.
Implements tenant isolation at the database schema level (partitioned tables, tenant_id filters) rather than application-level, with configurable per-tenant resource limits enforced at the dispatcher. Enables true SaaS multi-tenancy without shared resource contention.
More robust than application-level filtering; simpler than Kubernetes namespace isolation but requires careful API design to prevent tenant_id leakage.
dual-database architecture for operational and analytical workloads
Medium confidenceHatchet uses a dual-database schema: v1-core for operational data (tasks, workflows, runs) optimized for transactional consistency and fast writes, and v1-olap for analytical data (event aggregations, metrics) optimized for reporting and analytics. The system asynchronously replicates data from v1-core to v1-olap, enabling complex analytical queries without impacting operational performance. This architecture allows operational tables to be heavily partitioned for scalability while analytical tables maintain denormalized views.
Separates operational (v1-core) and analytical (v1-olap) schemas with asynchronous replication, allowing operational tables to be heavily partitioned for scalability while analytical tables maintain denormalized views optimized for reporting. Eliminates need for external data warehouse for basic analytics.
Simpler than separate operational and analytical databases with ETL pipelines; more scalable than single-schema approach with complex analytical queries.
payload storage with automatic offloading to external object storage
Medium confidenceHatchet stores task input and output payloads in the v1_task_payload table, with automatic offloading to external object storage (S3, GCS, etc.) when payloads exceed a configurable size threshold. The system maintains references to offloaded payloads in the database, transparently fetching them when needed. This architecture prevents database bloat from large payloads while maintaining a single logical view of task data.
Implements transparent payload offloading to external object storage with automatic threshold-based tiering, maintaining database references to offloaded data. Prevents database bloat without requiring application-level payload management.
More automatic than manual payload externalization; simpler than building custom tiering logic in application code.
rate limiting and fairness scheduling for llm api calls
Medium confidenceHatchet implements rate limiting at multiple levels: per-workflow, per-step, and per-action, with fairness scheduling that ensures no single workflow starves others when shared resources are constrained. The system uses token bucket algorithms with configurable rates and burst sizes, stored in the hierarchical concurrency control layer. This is specifically optimized for LLM API calls where rate limits are common and fairness is critical for multi-tenant systems.
Implements hierarchical rate limiting (workflow, step, action levels) with fairness scheduling specifically optimized for LLM API calls, using token bucket algorithms to enforce quotas while allowing bursts. Prevents single workflows from starving others in multi-tenant systems.
More sophisticated than simple queue-based rate limiting; purpose-built for LLM fairness vs generic rate limiting libraries.
python and typescript sdk with automatic code generation from openapi spec
Medium confidenceHatchet provides Python and TypeScript SDKs that are automatically generated from the OpenAPI specification (api-contracts/openapi/openapi.yaml), ensuring consistency between API and SDK. The SDKs include high-level abstractions for defining workflows, registering actions, and triggering runs, with type safety through generated data models. The generation pipeline (pkg/client/rest/gen.go) is part of the build process, ensuring SDKs stay in sync with API changes.
SDKs are automatically generated from OpenAPI specification as part of the build pipeline, ensuring consistency between API and client libraries. Includes high-level abstractions for workflow definition and action registration, not just raw API bindings.
More maintainable than hand-written SDKs; more feature-rich than raw OpenAPI-generated clients with added workflow abstractions.
workflow and run management dashboard with real-time status updates
Medium confidenceHatchet provides a web-based dashboard (frontend/app) built with React that displays workflow definitions, execution history, and real-time task status. The dashboard queries the v1-olap analytical schema for historical data and the API for real-time status, with WebSocket support for live updates. Users can trigger workflow runs, inspect task inputs/outputs, view retry history, and debug failed tasks through the UI.
Provides a React-based dashboard with real-time status updates via WebSocket, querying v1-olap for historical analytics and API for live task status. Includes workflow DAG visualization and task input/output inspection for debugging.
More user-friendly than CLI-only tools; simpler than Airflow/Prefect dashboards but less feature-rich.
Capabilities are decomposed by AI analysis. Each maps to specific user intents and improves with match feedback.
Related Artifactssharing capabilities
Artifacts that share capabilities with Hatchet, ranked by overlap. Discovered automatically through the match graph.
n8n
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
durable
A durable workflow execution engine for Elixir
n8n
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
Activepieces
Open-source no-code automation tool.
Dart
Transform workflows with AI: intuitive, customizable, seamlessly...
Best For
- ✓Teams building AI agent workflows with LLM calls and tool invocations
- ✓Developers needing reliable multi-step task orchestration at scale
- ✓Organizations requiring fairness scheduling for shared resource access
- ✓Event-driven AI systems (webhooks, message queues, streaming events)
- ✓Multi-tenant platforms where different tenants have different workflow triggers
- ✓Teams wanting to decouple event producers from workflow logic
- ✓Large-scale deployments with thousands of workers
- ✓Organizations requiring high availability and fault isolation
Known Limitations
- ⚠DAG structure must be defined upfront — dynamic workflow generation requires code changes
- ⚠Hierarchical concurrency adds complexity to workflow definition; requires understanding of semaphore semantics
- ⚠No built-in support for cyclic workflows or loops — must be unrolled or implemented via event-driven retriggers
- ⚠Task state machine is PostgreSQL-backed; high-frequency state transitions may create database contention
- ⚠CEL expression evaluation adds latency per event (~5-50ms depending on expression complexity)
- ⚠No support for stateful event correlation or windowing — each event is evaluated independently
Requirements
Input / Output
UnfragileRank
UnfragileRank is computed from adoption signals, documentation quality, ecosystem connectivity, match graph feedback, and freshness. No artifact can pay for a higher rank.
About
Distributed task queue and workflow engine built for AI workloads. Hatchet features DAG-based workflows, concurrency controls, rate limiting, and fairness scheduling for LLM calls.
Categories
Alternatives to Hatchet
Are you the builder of Hatchet?
Claim this artifact to get a verified badge, access match analytics, see which intents users search for, and manage your listing.
Get the weekly brief
New tools, rising stars, and what's actually worth your time. No spam.
Data Sources
Looking for something else?
Search →