我应该如何在生产环境中运行delayed_job?

时间:2009-08-26 18:21:12

标签: ruby-on-rails deployment background

通过rake job在开发模式下运行它没有问题:工作。但是,我在某种程度上无法弄清楚如何在生产中使用它。我正在使用Capistrano进行部署。

感谢您的任何建议!

5 个答案:

答案 0 :(得分:3)

如果您将delayed_job安装为gem,则需要运行生成器以创建脚本脚本/ delayed_job并设置运行权限。

然后,您可以按照How to configure Capistrano for Delayed Job上的说明将其连接到您的Capistrano文件中。

答案 1 :(得分:2)

this answer。简而言之,请使用Collective Idea fork of delayed_job。它包含一个名为delayed_job的脚本,可以使用。

答案 2 :(得分:2)

您可以按如下方式运行生成的delayed_job脚本:

RAILS_ENV=production script/delayed_job start

希望这有帮助

答案 3 :(得分:0)

我的第一个想法是在capistrano中添加一个after deploy部署任务来运行rake jobs:work task。您可能需要检查进程是否已在运行并重新启动它。

答案 4 :(得分:-1)

如果你是通过rake运行它,那么你不能只经常通过cron运行吗?每当宝石是红宝石的一个很好的界面。