#ruby #heroku #sinatra
#ruby #heroku #синатра
Вопрос:
Мое приложение (Sinatra) периодически переходит в плохое состояние, которое я смог исправить, только перезапустив Heroku dyno. Конечно, я хотел бы устранить основную проблему, но в то же время я бы хотел, чтобы пользователь не испытывал таких неудобств.
Ответ №1:
Насколько «плохим» является состояние? Если приложение все еще запущено, вы, вероятно, могли бы использовать system
команду в Ruby для выполнения команды.
Но это кажется плохой идеей. Вместо этого вы могли бы захотеть сделать (пока не устраните фундаментальную проблему!) что-то внешнее по отношению к приложению, отслеживающему это. Возможно, вы можете настроить экземпляр Nagios, God или что-то в этом роде…
Ответ №2:
Работает следующее. Это НЕ работало в стеке Heroku «aspen», но это работает в стеке bamboo 1.9.2.
require 'heroku'
~
~
heroku = Heroku::Client.new("YOUR EMAIL", "YOUR PASSWORD")
heroku.ps_restart("hacknews")