如何在heroku中为ruby脚本运行自动重启

时间:2016-02-17 12:35:58

标签: ruby heroku god

在我对Nitrous的开发框中,我能够运行God -c scripts.god -D重新启动两个.rb文件,如果它们死了。

我只是运行它,大部分过程都保持活跃。

但我不能在heroku中做同样的事情。看来,当我运行god命令时,.god文件无法打开并在heroku中生成错误。

问题:

如何在我的开发Nitrous环境中运行上帝重启heroku中的失败进程?

或者是否有推荐的替代方法来观察heroku进程并在失败时自动重启?

2 个答案:

答案 0 :(得分:0)

访问您的网站时,您的流程应自动启动。

但是,Heroku确实提供了管理流程的命令,请查看https://devcenter.heroku.com/articles/dynos以获取完整列表。例如,要重新启动所有进程,请使用toolbelt命令:

heroku ps:restart --app yourappname

答案 1 :(得分:0)

在Heroku上,你不应该像上帝一样使用过程主管。如果你需要的只是确保你的进程在崩溃时重新启动,Heroku可以管理那么好。

它应该像在proc文件中添加两个条目一样简单。 https://devcenter.heroku.com/articles/background-jobs-queueing

worker: bundle exec sidekiq clock: bundle exec clockwork lib/clock.rb slack_listener: bundle exec ruby lib/slack_bot.rb

如果您的处理经常崩溃,您可能会遇到问题。 Dyno Crash Restart Policy