我有一个工作人员全天候做一些处理.但是,有时代码崩溃,需要重新启动(即使我捕获异常,我必须重新启动该工作以使其工作).
当这种情况发生或我做错了什么事情,这不应该发生什么?你的动作/工人是否会崩溃,还是只是我?
谢谢
解决方法
Heroku应该每次崩溃时重新启动一名工作人员.据我所知,您不必选择或配置任何东西.无论你的工作如何:工作任务一旦失败就执行.
如果您严重依赖您的网络应用程序中的后台作业.您可以创建一个耙子任务,找到要更新的最后一条记录,并执行后台作业进行更新.或者自动执行耙子任务,以查找自上次崩溃以来需要更新的其余记录.
或者,您强制手工重新启动,如this article所示(使用delayed_job):
heroku workers 0; heroku workers 1;
或者您可以通过执行(this article提及)重新启动一个特定的工作人员:
heroku restart worker.1
顺便说一下,尝试使用1.9 stack.在这样做之前,请确保您的应用程序是1.9.2兼容的.希望崩溃在那里不那么频繁:
heroku stack:migrate bamboo-mri-1.9.2
在这种情况下,这些问题依然存在.最好联系Heroku支持.他们在做什么时非常敏感.