前回の続きで、sidekiqのデプロイについて書いていきます。
前提環境
- rails 4.x
- ruby 2.2.10
- capistrano 3.5
capistranoを利用していたので、capistrano/sidekiqをGemに追加します。
unicorn, pumaなどの設定は無視していきます。
実装
# Gemfile
group :development do
gem 'capistrano-sidekiq'
end
# config/Capfile ... require 'capistrano/sidekiq' require 'capistrano/sidekiq/monit' ...
# config/deploy.rb
...
set :pty, true
set :sidekiq_config, -> { File.join(shared_path, 'config', 'sidekiq.yml') }
set :sidekiq_monit_conf_dir, '/etc/monit.d'
...
(sudo権限があるユーザを利用することしない場合は、pty, false(default)にする) default hookが追加されますので、deployに合わしてsidekiqプロセスが起動・停止します。
sidekiq_default_hooks Sidekiq will start or stop automatically during deployments. Just set sidekiq_default_hooks to false if you don't want this to happen.
sidekiq_default_hooksをfalseにすれば、hooksを無効に出来ます。
手動起動
cap env sidekiq:start
以上。
参考
GitHub - seuros/capistrano-sidekiq: Sidekiq integration for Capistrano
Home · seuros/capistrano-sidekiq Wiki · GitHubHome · seuros/capistrano-sidekiq Wiki · GitHub