Я использую разные очереди для управления отложенными заданиями и использую monit, чтобы убедиться, что рабочие перезапускаются, если они зависли.
У меня вопрос, как правильно настроить monit для перезапуска моего работника с помощью Параметры правильного рабочего при следующей настройке:
- 1 рабочий для очереди "приоритет"
- 2 рабочих для очереди "по умолчанию"
Прямо сейчас я Я жестко кодирую pid 0 в качестве приоритетного работника и передаю ему разные параметры
check process delayed_job.0
with pidfile /var/run/delayed_job.0.pid
start program = "/bin/su -c 'bin/delayed_job --i 0 start --queue priority'"
stop program = "/bin/su -c 'bin/delayed_job --i 0 stop'"
check process delayed_job.1
with pidfile /var/run/delayed_job.1.pid
start program = "/bin/su -c 'bin/delayed_job --i 1 start --queue default'"
stop program = "/bin/su -c 'bin/delayed_job --i 1 stop'"
check process delayed_job.2
with pidfile /var/run/delayed_job.2.pid
start program = "/bin/su -c 'bin/delayed_job --i 2 start --queue default'"
stop program = "/bin/su -c 'bin/delayed_job --i 2 stop'"
Есть ли менее простой способ c для масштабирования этого по множеству различных типов очередей / рабочих конфигураций?