私は調査していて、delayed_job gem のワーカーを開始する主流の方法を見つけるのが難しいと感じています。これまでのところ、Capistrano を使用するための解決策が 1 つあります。
# add this to config/deploy.rb
namespace :delayed_job do
desc "Start delayed_job process"
task :start, :roles => :app do
run "cd #{current_path}; script/delayed_job start #{rails_env}"
end
desc "Stop delayed_job process"
task :stop, :roles => :app do
run "cd #{current_path}; script/delayed_job stop #{rails_env}"
end
desc "Restart delayed_job process"
task :restart, :roles => :app do
run "cd #{current_path}; script/delayed_job restart #{rails_env}"
end
end
after "deploy:start", "delayed_job:start"
after "deploy:stop", "delayed_job:stop"
after "deploy:restart", "delayed_job:restart"
しかし、どうやら Apache ユーザーが Rails アプリのユーザーとは異なる場合に問題が発生する可能性がありますか? コンプに座って入力する必要がないように、ワーカープロセスを自動化するより良い方法はありますか
$ RAILS_ENV=production script/delayed_job start
$ RAILS_ENV=production script/delayed_job stop
コンソールで一日中?