我使用Delayed Job作为我的Rails 5应用上的Active Job的排队后端,但我不知道如何在启动后在Ubuntu 14.04上启动worker。我是否应该将rails jobs:work
换成Bash脚本?我将如何让它自动启动?还是最好使用bin/delayed_job
?如何使用Ubuntu启动延迟作业?
如何在启动时启动延迟作业?
我使用Delayed Job作为我的Rails 5应用上的Active Job的排队后端,但我不知道如何在启动后在Ubuntu 14.04上启动worker。我是否应该将rails jobs:work
换成Bash脚本?我将如何让它自动启动?还是最好使用bin/delayed_job
?如何使用Ubuntu启动延迟作业?
如何在启动时启动延迟作业?
你的操作系统并不重要(只要它不是Windows:D)。
处理开始的命令是:
bundle exec rake jobs:work
重启delayed_job的命令是:
RAILS_ENV=production script/delayed_job restart
更多信息退房gems README。
(按评论)
可以在用户家中start_delayed_jon.sh
创造一些bash脚本。
沿着东西线:
#!/bin/bash
cd /path/to/your/project/directory/
RAILS_ENV=development bundle exec rake jobs:work
在/etc/rc.local中运行它:
su -s /bin/bash - deploy /path/to/your/project/directory/start_delayed_jon.sh
使用Whenever Gem,你可以设置运行它在重新启动一个cronjob。在您的schedule.rb文件:
every :reboot do
rake 'start_delayed_jobs'
end
然后在您的耙文件:
desc 'Start delayed jobs'
task :start_delayed_jobs do
system("#(Rails.root}/bin/delayed_job start")
end
end
这可以工作,但快速修复错字 - >系统(“#{Rails.root}/bin/delayed_job start”) – Jay
没错,这就是我的开始是我的开发机器上,但如何我已经Ubuntu的自动在服务器引导创业吗? – ilovebigmacs
@ilovebigmacs请参阅编辑 –
PS。我会推荐'Sidekiq'而不是DJ .. –