【Heroku】任意のプロセスを再起動する

「Delayed Jobsが暴走しているっtっっっt(;ω;)再起動しなければっっt」なんて時のためのメモです。

普通に「heroku restart」 してしまうと、rails側も再起動されてしまうんですよね。
今回の方法は、任意のプロセスのみ再起動させる方法です。

まず、起動しているプロセスを確認します。

$ heroku ps

=== web: `bundle exec rails server -p $PORT`
web.1: up for 15h
web.2: up for 15h

=== worker: `bundle exec rake jobs:work`
worker.1: up for 15h

worker.1 のみを再起動します。

$ heroku restart worker.1
Restarting worker.1 process... done

これでおkです。

herokuでは、下記のタイミングで自動的に再起動してくれます。
・コードをデプロイしたとき
・configを変更したとき
・add-onを変更したとき
・メモリをたくさん使ったとき(512MBを3回だそうです)

なので、普段は再起動を意識する必要はないかと思います。
参考URL:
https://devcenter.heroku.com/articles/ps#process-restarts
https://devcenter.heroku.com/articles/dynos#automatic-restarts