Delayed Job Best Practices11 Jun 2017 | Comments
Work in progress post btw..
I have been using Delayed Job quite a lot recently.
Here are few best practices that will make life easier working with it:
Run your job as delayed job locally
Our delayed job initializer looked like this:
Delayed::Worker.delay_jobs = !(Rails.env.development? || Rails.env.test?)%
This means on development and test, jobs are executed immediately by the same server that schedules the job.
While it is a sensible setting for test environment, it is not for development environment. By doing this, we are not adhering to Dev/prod parity, where there is a environmental gap between environments, bad and unexpected things happen, oh yes, it has caused me hours to debug environmental specific bugs - more on this later.