Created
April 7, 2014 05:10
-
-
Save johndagostino/10015132 to your computer and use it in GitHub Desktop.
sidekiq.conf
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# /etc/init/sidekiq.conf - Sidekiq config | |
# This example config should work with Ubuntu 12.04+. It | |
# allows you to manage multiple Sidekiq instances with | |
# Upstart, Ubuntu's native service management tool. | |
# | |
# See workers.conf for how to manage all Sidekiq instances at once. | |
# | |
# Save this config as /etc/init/sidekiq.conf then mange sidekiq with: | |
# sudo start sidekiq app=/path/to/app index=0 | |
# sudo stop sidekiq app=/path/to/app index=0 | |
# sudo status sidekiq app=/path/to/app index=0 | |
# | |
# or use the service command: | |
# sudo service sidekiq {start,stop,restart,status} | |
# | |
description "Sidekiq Background Worker" | |
# no "start on", we don't want to automatically start | |
stop on (stopping sidekiq-manager or runlevel [06]) | |
# change apps to match your deployment user if you want to use this as a less privileged user (recommended!) | |
#Â setuid apps | |
#Â setgid apps | |
respawn | |
respawn limit 3 30 | |
# TERM and USR1 are sent by sidekiqctl when stopping sidekiq. Without declaring these as normal exit codes, it just respawns. | |
normal exit 0 TERM USR1 | |
instance ${app}-${index} | |
script | |
# this script runs in /bin/sh by default | |
# respawn as bash so we can source in rbenv | |
exec /bin/bash <<EOT | |
# uncomment to use syslog for logging | |
# exec &> /dev/kmsg | |
export HOME=/home/apps | |
# Pick your poison :) Or none if you're using a system wide installed Ruby. | |
# rbenv | |
# source /home/apps/.bash_profile | |
# OR | |
# source /home/apps/.profile | |
# OR system: | |
# source /etc/profile.d/rbenv.sh | |
# | |
# rvm | |
# source /home/apps/.rvm/scripts/rvm | |
logger -t sidekiq "Starting process: $app-$index" | |
cd $app | |
exec bundle exec sidekiq -i ${index} -e production -C config/sidekiq.yml -P tmp/pids/${index}.pid | |
EOT | |
end script | |
pre-stop script | |
# this script runs in /bin/sh by default | |
# respawn as bash so we can source in rbenv | |
exec /bin/bash <<EOT | |
# uncomment to use syslog for logging | |
# exec &> /dev/kmsg | |
export HOME=/home/apps | |
# Pick your poison :) Or none if you're using a system wide installed Ruby. | |
# rbenv | |
# source /home/apps/.bash_profile | |
# OR | |
# source /home/apps/.profile | |
# OR system: | |
# source /etc/profile.d/rbenv.sh | |
# | |
# rvm | |
# source /home/apps/.rvm/scripts/rvm | |
logger -t sidekiq "Stopping process: $app-$index" | |
cd $app | |
exec bundle exec sidekiqctl stop tmp/pids/${index}.pid | |
EOT | |
end script |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment