Я развертываю приложение rails с sidekiq. При каждом развертывании Capistrano останавливает предыдущую версию sidekiq (рубиновый процесс), а затем запускает новую. Я контролирую файл sidekiq pid с monit.Как настроить monit, чтобы разрешить изменение pid?
Проблема: каждый раз, когда я развертываю изменения файла pid, но monit обнаруживает, что он изменился и перезапустил процесс. В течение нескольких дней и нескольких выпусков я получаю несколько экземпляров sidekiq, когда я их только хочу.
Вот мои монят конфигурации для sidekiq:
check process sidekiq_main with pidfile /srv/apps/orders/current/tmp/pids/sidekiq.pid
every 3 cycles
start program = "/bin/bash -c -l 'cd /srv/apps/orders/current ; nohup bundle exec sidekiq -e production -C /srv/apps/orders/current/config/sidekiq.yml -i 0 -P /srv/apps/orders/current/tmp/pids/sidekiq.pid >> /srv/apps/orders/current/log/sidekiq.log 2>&1 &'"
stop program = "/bin/bash -c -l 'cd /srv/apps/orders/current ; bundle exec sidekiqctl stop /srv/apps/orders/current/tmp/pids/sidekiq.pid 10'"
group sidekiq
Есть ли способ настроить Monit, чтобы обеспечить файл PID для изменения и только убедитесь, что sidekiq экземпляр работает?