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