Build Durable Workflows
in Ruby

Ductwork is a modern workflow orchestration framework that makes complex job pipelines maintainable, durable, and recoverable.

app/pipelines/enrich_all_users_data_pipeline.rb
# 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(to: UpdateUserData)
            .divert(to: { success: NotifyUser, otherwise: FlagForReview })
            .converge(into: FinalizeUserRecord)
            .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

Workflow Orchestration

Define and run complex workflows with branching, parallel execution, and branch merge methods.

Durable Execution

Automatically resume interrupted or orphaned pipelines after a worker crashes, with no manual intervention.

Error Resilience

Automatic retries, graceful failure handling, and detailed error reporting ensure reliability.

Recovery Mechanisms

Parent reaper processes monitor resources and release stale claims so no workflow is ever stuck.

State Persistence

Durable 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 Pipelines

User onboarding processes with sending welcome emails and reminders

Simple, Transparent Pricing

Start free and scale as you grow. Both plans include core workflow features.

Open Source

Free Forever

Perfect for proof-of-concepts, getting started, and small-scale deployments

  • Core workflow DSL and transitions
  • Top-level process supervisor
  • Scalable threaded job worker pool
  • Automatically restart stuck threads
  • Rails engine-mountable web dashboard
  • Reaper process recovers stale resources
  • Forking and threaded concurrency modes
  • Community Support
Get Started
Most Popular

Pro Tier

$200 /month

Built for production workloads, large-scale pipelines, and teams that need more control

  • Everything in Open Source
  • More concurrency controls
  • Human-in-the-loop functionality
  • Configurable step timeout
  • Configurable step delay
  • Interruptible pipeline advancement
  • StatsD metrics reporting
  • Direct, multi-channel, priority Support
Start 14-Day Free Trial

or $2,000/year billed annually (2 months free)

Need something custom for your team?   Get in touch