Posted 6 months ago. Visible to the public.

Using Sidekiq with Procfile and Capistrano (example)

Here is an example configuration for using Sidekiq with our Procfile support and Capistrano.

Sidekiq specific steps in lib/capistrano/tasks/sidekiq.rake. Please make sure the roles meet your needs:

# frozen_string_literal: true namespace :sidekiq do desc 'quiet all sidekiq processes so they stop accepting new jobs' task :quiet do on roles :cron do # The TSTP signal tells sidekiq to quiet all workers. # see: invoke('opscomplete:supervisor:signal_procs', 'TSTP', 'sidekiq') end end desc 'print a backtrace for all sidekiq threads to the logfile' task :trace do on roles :cron do # The TTIN signal tells sidekiq to print a backtrace for all threads to the logfile. # see: invoke('opscomplete:supervisor:signal_procs', 'TTIN', 'sidekiq') end end desc 'shuts down all sidekiq processes within the configured timout' task :term do on roles :cron do # The TERM signal tells sidekiq to kill quiet all processes for the configured timout time and then kill them. # see: invoke('opscomplete:supervisor:signal_procs', 'TERM', 'sidekiq') end end end

Sidekiq/Supervisor specific hooks for config/deploy.rb:

# Update and Restart supervisor config after 'deploy:starting', 'sidekiq:quiet' after 'deploy:updating', 'opscomplete:supervisor:gen_config' after 'deploy:published', 'opscomplete:supervisor:restart_procs' # Terminate sidekiq quiet processes (new processes get started by supervisor) after 'deploy:failed', 'sidekiq:term'

You Procfile should include e.g. this command for running sidekiq:

sidekiq: bundle exec sidekiq --config config/sidekiq.yml

Owner of this card:

Kim Jahn
Last edit:
6 months ago
by Kim Jahn
Posted by Kim Jahn to opscomplete
This website uses short-lived cookies to improve usability.
Accept or learn more