【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