Heroku:当你的dyno /工作人员崩溃时怎么办?
我有一个工作人员24/7做一些处理。 然而,有时代码崩溃,需要重新启动(即使我发现exception,我必须重新启动工作,以使其工作)。
如果发生这种情况,或者我做错了什么,这不应该发生? 你的dynos /工作人员崩溃还是只是我?
谢谢
Heroku每次崩溃都应该重启一个工作者。 据我所知,你不必select或configuration任何东西。 不pipe你的工作是什么:工作任务一旦失败就会被执行。
如果您在Web应用程序中严重依赖后台作业。 您可以创build一个rake任务,查找最后一条logging进行更新,并执行后台作业进行更新。 或者可能自动执行rake任务,以查找自上次崩溃以来需要更新的其余logging。
或者,如本文所述 (使用delayed_job)强制worker手动重新启动:
heroku workers 0; heroku workers 1;
或者,也许你可以重新启动一个特定的工作者(在本文中提到):
heroku restart worker.1
顺便说一句,尝试1.9堆栈 。 确保你的应用程序是1.9.2兼容,在这样做之前。 希望崩溃在那里不那么频繁:
heroku stack:migrate bamboo-mri-1.9.2
在这种情况下,这样的问题依然存在。 最好联系Heroku支持。 他们对自己的工作非常敏感。
最新命令重新启动一个特定的heroku web worker (2014):
heroku ps:restart web.1
(在雪松堆栈上testing)
有时,例如在DB崩溃的情况下,工作人员可能不会自动重启。 你需要这样做。
heroku重启web.1
它为我工作。
- Heroku给我一个503当试图打开我的web应用程序,在本地主机上工作
- Heroku nodejspath问题…错误:ENOENT:没有这样的文件或目录
- 使用Node.JS从MongoDB转到MongoLab
- Heroku的应用程序停止响应几个请求后
- Node.js / Socket.io web应用程序完美无缺地在本地运行,但在Heroku上时,浏览器挂起
- 为什么Heroku无法检测到Node.js构build包?
- 如何设置Gruntfile在heroku上使用指南针/ sass?
- Heroku日志:“缺less脚本:开始”,即使是在:(
- 在IronWorker上node.js应用程序和worker之间的通信。 如何正确轮询任务状态并接收任务响应?