If DJ is installed as a gem don't forget to run the generator. It creates the script/delayed_job script and sets run permissions.
rails generate delayed_job
delayed_job comes with Capistrano recipes to start the script/delayed_job worker but you have to update your config/deploy.rb file to use them. There are 3 changes that need to be made:
set :rails_env, "production" #added for delayed job
If you have one or more servers just for delayed job, you can have your workers run just on that server like so. If you do not set
:delayed_job_server_role, it will default to
role :delayed_job, 'delayed_job.example.com' set :delayed_job_server_role, :delayed_job
after "deploy:stop", "delayed_job:stop" after "deploy:start", "delayed_job:start" after "deploy:restart", "delayed_job:restart" # If you want to use command line options, for example to start multiple workers, # define a Capistrano variable delayed_job_args: # # set :delayed_job_args, "-n 2"
If you are getting an error starting delayed_job in capistrano make sure you have
gem 'daemons' in your Gemfile.
Note: You may need to do more due to unresolved issues such as https://github.com/collectiveidea/delayed_job/issues/3