Motivation

Some months ago, at an interview I got asked this:

What would you use resque or sidekiq and why?

My answer was something along the lines of:

  • Sidekiq consumes less memory, so that sounds better.
  • Both Resque and Sidekiq are stable and widely used in production.
  • I’ve used Resque in a 3 applications, two of them are still running and processing tons of background jobs.
  • Before making my choice I would need to know the kind of background processing that we would do. I want to know if the jobs would be IO bound or CPU bound.

I want this writing to be:

  1. A helper to uncover a better answer.
  2. A mental model and decision framework to help me make a choice the next time.

What is background processing?

What the internet says about it?

PROs and CONs

How your problem impacts the choice

Mental model and decision frameworks

TODO

Review: