Build a Resumable CSV Import with ActiveJob::Continuable | Code With Rails
13-Feb-2026 391
Long-running background jobs have an uncomfortable relationship with deploys. You kick off a 100,000-row CSV import, deploy new code five minutes later, and the worker restarts. The job either starts over from the beginning or silently dies. Most teams solve this with custom bookkeeping: a last_processed_id column, a Redis key, or an external gem like job-iteration.
Rails 8.1 ships a built-in solution called ActiveJob::Continuable. It lets you split a job into steps, track progress with cursors, and automatically resume from where the job left off after an interruption. No gems, no custom state machines.
Build a Resumable CSV Import with ActiveJob::Continuable | Code With Rails #ruby #rubydeveloper #rubyonrails #Build #Resumable #Import #ActiveJob::Continuable #Rails #activejob::continuable #code https://rubyonrails.ba/link/build-a-resumable-csv-import-with-activejob-continuable-code-with-rails