在生产环境中如何运行延迟作业(delayed_job)?

4

我在使用rake jobs:work命令时没有问题,但是我不知道如何在生产环境中使用它。我使用Capistrano进行部署。

感谢任何建议!

5个回答

3
如果你把delayed_job作为一个gem安装,你需要运行生成器来创建脚本scripts/delayed_job并设置运行权限。然后你可以按照如何配置Capistrano和Delayed Job的说明,在你的Capistrano文件中连接它。

2
您可以按照以下方式运行生成的delayed_job脚本:
RAILS_ENV=production script/delayed_job start

希望这可以帮到您。

这给了我-bash: bin/delayed_job: Permission denied的错误。在生产中使用Centos。有什么建议吗? - Disha

2

我使用这个分支,到目前为止非常满意。这些脚本只是方便的方法,以确保您想要其他功能,否则我会将脚本删除。 - Mike

0

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


-1

如果你是通过rake运行它,那么你可以通过cron随时运行它,而无需限制。whenever gem是从ruby中实现这个的好接口。


安排异步作业应该避免管理计划任务。如果您想要这些任务而不必轮询服务器,那么这不是一个好选择。 - Raphael Pr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接