Build Powerful Pipelines
in Ruby
Ductwork is a modern workflow orchestration framework that makes complex job pipelines simple, testable, and maintainable.
# Define your pipeline with the DSL
class EnrichAllUsersDataPipeline < Ductwork::Pipeline
define do |pipeline|
pipeline.start(QueryUsersRequiringEnrichment)
.expand(to: LoadUserData)
.divide(to: [FetchDataFromSourceA, FetchDataFromSourceB])
.combine(into: CollateUserData)
.chain(UpdateUserData)
.collapse(into: ReportUserEnrichmentSuccess)
end
end
# Run your pipeline!
EnrichAllUsersDataPipeline.trigger(days_since_last_enrichment: 7)
Why Choose Ductwork?
Everything you need to build reliable, scalable job pipelines in Ruby
Pipeline Orchestration
Define complex workflows with branching, parallel execution, and branch merge methods.
Solid Performance
Built-in support for configuring and tuning thread parallelization keeps your pipelines fast.
Error Resilience
Automatic retries, graceful failure handling, and detailed error reporting ensure reliability.
Easy to Test
Comprehensive testing helpers and matchers make it simple to verify your pipeline behavior.
State Persistence
Built-in state management lets you deploy without the fear of interrupting pipeline execution.
Rails Integration
First-class Rails support with generators, configurations, and ActiveRecord integration out of the box.
Designed For
Ductwork shines in scenarios where building traditional job queues fall short
Document Processing
Multi-step document transformation with validation, OCR, and storage
Order Fulfillment
Complex order workflows with inventory checks, payment processing, and notifications
Data Migrations
Large-scale data transformations with checkpoints and rollback capabilities
ETL Pipelines
Extract, transform, and load data with parallel processing and error recovery
Email Campaigns
Multi-stage email workflows with personalization, scheduling, and tracking
Onboarding Flows
User onboarding processes with sending welcome emails and reminders
Simple, Transparent Pricing
Start free and scale as you grow. All plans include core pipeline features.
Open Source
Perfect for getting started and POC projects
- Core pipeline features
- Pipeline definition DSL
- Process supervisor
- Scalable threaded job worker pool
- Error handling
- Test helpers
- Community Support
Professional
For growing teams and production workloads
- Everything in Open Source
- Web dashboard
- Scalable pipeline advancer threads
- Step timeout features
- Step delay features
- Metrics
- Direct multi-channel Support
Enterprise
For organizations with custom requirements
- Everything in Professional
- Percent rollout features
- Circuit breaker pattern
- Rate limiting
- Configure underlying process model
- Multi-process
- Guaranteed Support SLAs
Get 2 months free when using a Yearly Professional Plan ($2,000/year).