Skip to content
railsengines.com

Maintenance Tasks

A UI for running and monitoring long data migrations

Takes off your invoice

You would run instead $0/mo

No ratings yet
Gem
maintenance_tasks
Repository
Shopify/maintenance_tasks
License
MIT
Stars
1,800
Added
July 11, 2026
Maintenance Tasks mounted at /maintenance_tasks
Maintenance Tasks mounted at /maintenance_tasks

About

Data migrations that run in the background, report progress, and can be paused,
resumed and cancelled from a web UI.

What you get

  • Tasks defined as Ruby classes with a collection and a per-record block
  • Progress, throttling and error handling
  • Pause, resume, cancel
  • A run history, so you can prove a backfill finished

Mounting it

ruby
# Gemfile
gem "maintenance_tasks"

# config/routes.rb
authenticate :user, ->(user) { user.admin? } do
  mount MaintenanceTasks::Engine, at: "/maintenance_tasks"
end

Why not a rake task

A rake task in a terminal has no progress, no resumability, and no record that it ran.
This has all three.

Discussion (0)

Sign in to join the discussion.

No comments yet.