Rails - 延迟作业停止运行

时间:2013-11-22 14:59:14

标签: ruby-on-rails ruby-on-rails-4 delayed-job openshift

我正在开发我已部署到OpenShift的 application

我已经将实际的用户注册流程“移动”到了延迟的工作,因为在此过程中有很多东西需要放置。每隔两天(左右),延迟的工作流程就会停止运行。

在日志中我发现了这个:

Error while reserving job: closed MySQL connection

我尝试使用以下命令启动它:

RAILS_ENV=production bin/delayed_job -m start

但问题仍然存在。

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

尝试将此添加到您的database.yml

reconnect: true

我不确定这是否能解决您的问题,但值得一试。

另外,请查看此MySql documentation about lost connection

答案 1 :(得分:0)

刚出现这个问题(不使用OpenShift)。在我尝试了你说的命令后,我仍然遇到了问题。然后我像这样重启了delayed_job:

RAILS_ENV=production bin/delayed_job stop
RAILS_ENV=production bin/delayed_job start

问题消失了。在我的情况下,问题是delayed_job正在寻找一个不再存在的方法,只需要重新启动。也许这有帮助。 我也尝试过Vimsha关于开发而不是生产的答案,但它并没有影响我的结果。