首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当你的dyno/worker崩溃时该怎么办?

当你的dyno/worker崩溃时该怎么办?
EN

Stack Overflow用户
提问于 2011-06-14 18:22:39
回答 3查看 10.9K关注 0票数 12

我有一个worker在做一些全天候的处理。然而,有时代码会崩溃,需要重新启动(即使我捕捉到异常,我也必须重新启动worker才能让它工作)。

当这种情况发生时,或者我做错了什么而这根本不应该发生时,你该怎么办?你的dynos/worker崩溃了还是只有我一个人崩溃了?

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-06-14 23:03:10

Heroku应该在每次worker崩溃时重新启动它。据我所知,你不需要选择或配置任何东西。无论你的工作是什么:工作任务一旦失败就会立即执行。

如果您严重依赖于web应用程序中的后台作业。您可以创建一个rake任务来查找要更新的最后一条记录,并执行一个后台作业来更新它。或者可能自动执行rake任务,以查找自上次崩溃以来需要更新的其余记录。

或者,您可以按照this article中所述(使用delayed_job)手动强制重新启动worker:

代码语言:javascript
运行
复制
heroku workers 0; 
heroku workers 1;

或者,您可以通过执行以下操作(在this article中提到)重新启动特定的工作进程:

代码语言:javascript
运行
复制
heroku restart worker.1

顺便说一下,试试1.9 stack。在执行此操作之前,请确保您的应用程序与1.9.2兼容。希望那里的崩溃不那么频繁:

代码语言:javascript
运行
复制
heroku stack:migrate bamboo-mri-1.9.2

在这种情况下,这些问题仍然会出现。最好联系Heroku支持部门。他们对自己所做的事情反应非常灵敏。

票数 17
EN

Stack Overflow用户

发布于 2014-01-17 02:16:17

用于重新启动特定heroku web worker的最新命令(2014):

代码语言:javascript
运行
复制
heroku ps:restart web.1

(在雪松堆栈上测试)

票数 10
EN

Stack Overflow用户

发布于 2014-03-27 14:37:16

有时,例如在DB崩溃的情况下,worker可能不会自动重新启动。你需要这样做。

heroku重启web.1

这对我很管用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6342149

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档