---
title: "Resque to Solid Queue Migration"
description: "We have moved several Ruby on Rails projects from Resque to Solid Queue, including their scheduled (cron) jobs, dropping the Redis dependency."
url: "https://qameta.com/resque-to-solid-queue-migration/"
---

# Resque to Solid Queue Migration

We have moved several Rails projects from [Resque](https://github.com/resque/resque)
to [Solid Queue](https://github.com/rails/solid_queue), Rails' own
database-backed Active Job backend. That includes carrying over recurring
(cron-style) jobs that used to run through `resque-scheduler`.

## Why move to Solid Queue?

* No separate Redis instance to run, patch, and pay for just for background
  jobs
* Jobs, retries, and schedules live in the same database as the rest of your
  data - one less moving part to operate and back up
* It is what new Rails applications ship with by default, so it will keep
  getting maintained and improved
* Built-in support for recurring jobs, replacing `resque-scheduler`'s
  cron-style YAML configuration

## What the migration involves

* Converting Resque job classes to Active Job jobs
* Moving scheduled/cron jobs from `resque-scheduler`'s YAML config to Solid
  Queue's `config/recurring.yml`
* Replacing the Resque worker process with the Solid Queue supervisor in
  deployment and process management
* Verifying enqueue and execution behavior through
  [Continuous Integration](https://qameta.com/continuous-integration/) before it ships via
  [Continuous Delivery](https://qameta.com/continuous-delivery/)

## From experience

We wrote up the full migration, including moving cron/recurring jobs, here:

* [Howto move from Resque to Solid Queue](https://qameta.com/posts/howto-move-from-resque-to-solid-queue/)
* [Control Resque through Capistrano using systemd](https://qameta.com/posts/control-resque-throuh-capistrano-using-systemd/)

## Summary

Resque still works, but it ties you to Redis and a separate scheduler gem for
anything cron-like. We move the jobs, the recurring schedule, and the worker
process management over to Solid Queue without losing a job in transit.

Still running Resque? [Get in touch](mailto:info@qameta.com).
