runit
Articles on runit
runit and delayed_job
We’ve been using Collective Idea’s fork of Delayed Job at RecruitMilitary for quite some time now. We’ve processed over 2 million jobs and we’re extremely reliant on it for the day-to-day operation of our site.
For a long time the compelling reason behind us using Collective Idea’s fork of delayed_job was the built in support for daemonization. This functionality is added via the daemons gem, however, it is not without problems. We use monit to kill memory hungry workers and have frequently experienced issues with workers not stopping, deleting their pid file, and another duplicate worker ends up starting. Before you know it, your server is freaking out because there are 4 times the number of workers running than you want.