Search code examples
mysqlruby-on-railsredisweb-worker

Is it possible to use resque/Sidekiq /rails-jobs without redis (using MySql)


I have a very limited server, that needs RoR project with Background workers. Speed isn't that important, which i'm guessing, is the main reason Redis is used, but the main thing is, server can't have Redis database, so is it possible (even monkey-patch will do), that allows to use any of the Rails background job methods to be ran using MySql, be it Resque (preferred), Sidekiq or Rails built in one?


Solution

  • Delayed::Job (or DJ) encapsulates the common pattern of asynchronously executing longer tasks in the background.

    ...

    Active Job is a framework for declaring jobs and making them run on a variety of queuing backends

    ...

    Active Job has built-in adapters for multiple queuing backends (Sidekiq, Resque, Delayed Job, and others). To get an up-to-date list of the adapters see the API Documentation for ActiveJob::QueueAdapters.

    ...

    Delayed Job uses your SQL database for storage and processes jobs in a single-threaded process. It's simple to set up but the performance and scalability aren't great. (c) Sidekiq FAQ

    P.S. I prefer to find place for Redis.