Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 当你的dyno/worker崩溃时该怎么办?_Ruby On Rails 3_Node.js_Heroku - Fatal编程技术网

Ruby on rails 3 当你的dyno/worker崩溃时该怎么办?

Ruby on rails 3 当你的dyno/worker崩溃时该怎么办?,ruby-on-rails-3,node.js,heroku,Ruby On Rails 3,Node.js,Heroku,我有一个工人全天候做一些处理。但是,有时代码会崩溃,需要重新启动(即使捕获到异常,也必须重新启动worker才能正常工作) 当这种情况发生时,你会怎么做?或者我做错了什么,而这根本不应该发生?你的dynos/workers崩溃了还是只有我 谢谢Heroku应该在每次工作程序崩溃时重新启动它。据我所知,您不必选择或配置任何内容。无论你的工作是什么:工作任务一旦失败就会被执行 如果您严重依赖web应用程序中的后台作业。您可以创建一个rake任务来查找要更新的最后一条记录,并执行后台作业来更新它。或者

我有一个工人全天候做一些处理。但是,有时代码会崩溃,需要重新启动(即使捕获到异常,也必须重新启动worker才能正常工作)

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


谢谢

Heroku应该在每次工作程序崩溃时重新启动它。据我所知,您不必选择或配置任何内容。无论你的工作是什么:工作任务一旦失败就会被执行

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

或者,如中所示(使用延迟的\u作业),强制手动重新启动工作进程:

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

顺便说一下,试试这个。执行此操作之前,请确保您的应用程序与1.9.2兼容。希望那里的交通事故不那么频繁:

heroku stack:migrate bamboo-mri-1.9.2

在这种情况下,此类问题仍然会出现。最好联系Heroku支持部门。他们对所做的事情反应非常迅速。

重新启动某个特定的heroku网络工作者的最新命令(2014):


(在Cedar stack上测试)

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

heroku重新启动web.1


它对我很有效。

此命令有助于立即重新启动崩溃的工作程序,而无需等待10分钟应用程序自动重新启动。键入
heroku ps
可以查看web工作进程(dyno)是否已实际重新启动。对于工作进程(dyno),heroku将自动(但不会立即)重新启动它们。从我尝试的情况来看,我的第一次重启发生在崩溃5分钟后,两次立即崩溃可能会导致10分钟后重启,以此类推。。。(指数退避)。下面的答案告诉您如何立即重新启动dyno
heroku restart worker.1
heroku stack:migrate bamboo-mri-1.9.2
heroku ps:restart web.1