iprog.com

List of ActiveJob queue backends

During some recent research, I made a list of all the Rails/ActiveJob compatible queue backends I could find.

I started with the list from Rails, which is just the queues with adapters built-in to Rails, then added anything else I could find that wasn’t obviously dead (mostly determined by lack of commits for an extended time).

Additions and corrections are welcomed.

Async Queues Delayed Priorities Timeout Retries Job storage Exec mode
Backburner Yes Yes Yes Queue Job Global beanstalkd inprocess, fork, thread
Delayed Job Yes Yes Yes Job Global Global activerecord, mongoid fork
Faktory Worker Yes Yes Yes Queue No Job faktory (embedded redis) thread
Fliess Yes Yes Yes Job Job Job activerecord thread
Gearman Ruby Yes Yes ? ? ? ? gearman single worker
GoodJob Yes Yes Yes Job Job Job postgres inprocess, thread
Google Cloud Pub/Sub Yes Yes ? ? ? ? gcp thread
KubeQueue Yes No Yes No Job Job kubernetes (etcd) k8s job
Que Yes Yes Yes Job No Job postgres thread
queue_classic Yes Yes Yes No No No postgres fork, thread
Resque Yes Yes Yes (Gem) Queue Global Yes redis fork
Shoryuken Yes Yes Yes Queue No Job aws sqs thread
Sidekiq Yes Yes Yes Queue No Job redis thread
Sneakers Yes Yes No Queue Queue No rabbitmq thread
Advanced Sneakers Yes Yes Yes Queue Queue No rabbitmq thread
Solid Queue Yes Yes Yes Job Job Job activerecord thread
Sqewer Yes No Yes No No Global aws sqs thread
Sucker Punch Yes Yes Yes No No No memory inprocess
Workhorse Yes Yes Yes Job No Global activerecord thread
Active Job Async Yes Yes Yes No No No memory inprocess
Active Job Inline No Yes No No No No memory inline

There are also gems for running background jobs that are not ActiveJob compatible. Those are not listed above.

tags: rails, activejob