Как остановить запущенный процесс на Heroku?

Для начала нужно определить, какой именно процесс нужно остановить (завершить работу Dyno). Для этого из терминла запустим (необходим установленный Heroku CLI):

heroku ps --app=theglitchy-staging

В результате получим список запущенных Dyno:

=== scheduler (Hobby): bundle exec rake notes:update_something (1)
scheduler.6129: up 2019/11/20 20:01:06 +0200 (~ 20h ago)

=== web (Hobby): bundle exec puma -p $PORT (1)
web.1: up 2019/11/20 16:35:21 +0200 (~ 24h ago)

В нашем случае - что-то пошло не так с rake-задачей "update_something" запущенной через Scheduler и она работает более 20 часов.

Для завершения процесса запустим следующую команду:

heroku ps:stop scheduler.6129 --app=theglitchy-staging

где scheduler.6129 - имя завершаемого процесса.

Таким образом можно быстро завершить нежелательный процесс на Heroku. Стоит отметить, что если используется Rollbar - в него прилетит ошибка:

SignalException: SIGTERM Rollbar