Add worker in your Procfile:
worker: bundle exec shoryuken ...Then:
heroku ps:scale worker=1Shoryuken does not require a web process, so you can disable web, in case you don't need it.
heroku ps:scale web=0Use capistrano-shoryuken.
See OpsWorks Recipe.
See systemd integration.
A minimal unit file:
# /etc/systemd/system/shoryuken.service
[Unit]
Description=Shoryuken
After=network.target
[Service]
Type=simple
WorkingDirectory=/var/www/myapp/current
Environment=RAILS_ENV=production
ExecStart=/usr/local/bin/bundle exec shoryuken -R -C config/shoryuken.yml
# systemd stops with SIGTERM: Shoryuken waits up to `timeout` seconds for busy workers
TimeoutStopSec=30
Restart=on-failure
[Install]
WantedBy=multi-user.targetKeep TimeoutStopSec above Shoryuken's timeout. Do not map ExecReload to USR1: USR1 makes Shoryuken exit (see [[Signals]]).
Set timeout below the time your platform waits before it kills the process. See [[Signals]].