Skip to content

Latest commit

 

History

History
62 lines (41 loc) · 1.42 KB

Deployment.md

File metadata and controls

62 lines (41 loc) · 1.42 KB

Heroku

Add worker in your Procfile:

worker: bundle exec shoryuken ...

Then:

heroku ps:scale worker=1

Shoryuken does not require a web process, so you can disable web, in case you don't need it.

heroku ps:scale web=0

Capistrano

Use capistrano-shoryuken.

OpsWorks

See OpsWorks Recipe.

AWS Elastic Beanstalk

See .ebextension file here.

systemd integration

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.target

Keep TimeoutStopSec above Shoryuken's timeout. Do not map ExecReload to USR1: USR1 makes Shoryuken exit (see [[Signals]]).

Shutdown

Set timeout below the time your platform waits before it kills the process. See [[Signals]].