# /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 manage sidekiq with: # sudo start sidekiq index=0 # sudo stop sidekiq index=0 # sudo status sidekiq index=0 # # Hack Upstart's reload command to 'quiet' Sidekiq: # # sudo reload sidekiq index=0 # # or use the service command: # sudo service sidekiq {start,stop,restart,status} # description "Sidekiq Background Worker" # This script is not meant to start on bootup, workers.conf # will start all sidekiq instances explicitly when it starts. #start on runlevel [2345] #stop on runlevel [06] # change to match your deployment user # setuid deploy # setgid deploy # env HOME=/home/deploy respawn respawn limit 3 30 # TERM is sent by sidekiqctl when stopping sidekiq. Without declaring these as # normal exit codes, it just respawns. normal exit 0 TERM # Older versions of Upstart might not support the reload command and need # this commented out. reload signal USR1 instance $index script # this script runs in /bin/sh by default # respawn as bash so we can source in rbenv exec /bin/bash <<'EOT' # 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 # Logs out to /var/log/upstart/sidekiq.log by default cd /var/www/app exec bundle exec sidekiq -i ${index} -e production EOT end script