herokuでworkerだけをrestartする方法
heroku ps -a myapp
まずはプロセスを確認
$ heroku ps -a myapp === web (Standard-1X): bundle exec puma -C config/puma.rb (1) web.1: up 2017/03/06 00:00:00 +0900 (~ 10h ago) === worker (Standard-1X): bundle exec sidekiq -C config/sidekiq.yml (1) worker.1: up 2017/03/06 00:00:00 +0900 (~ 10h ago)
heroku restart worker.1 -a myapp
プロセスを指定して再起動
$ heroku restart worker.1 -a myapp Restarting worker.1 dynos on ⬢ myapp... done
複数のworkerを同時に再起動する方法
$ heroku ps -a myapp === web (Standard-1X): bundle exec puma -C config/puma.rb (1) web.1: up 2017/03/06 00:00:00 +0900 (~ 10h ago) === worker (Standard-1X): bundle exec sidekiq -C config/sidekiq.yml (3) worker.1: up 2017/03/06 00:00:00 +0900 (~ 10h ago) worker.2: up 2017/03/06 00:00:00 +0900 (~ 10h ago) worker.3: up 2017/03/06 00:00:00 +0900 (~ 10h ago)
複数workerがある場合、下記のようにすれば一括で再起動。
$ heroku restart worker -a myapp Restarting worker dynos on ⬢ myapp... done