• Overhead of relational database • Workers monitored from outside • Frequently needs workers to restart • Hard to keep track DelayedJob has downsides at scale
• Redis • Parent-child forking for workers • Rarely needs workers to restart • Easy to keep track, since workers manage their own state • Memory hungry Resque scales