Назад | Перейти на главную страницу

Промежуточная и производственная версии одного и того же задания Monit

Я настроил monit для отслеживания задания производственной версии моего приложения:

# in /etc/monitrc:
include /etc/monit/delayed_job.my_app.production.monitrc

# in /etc/monit/delayed_job.my_app.production.monitrc
check process delayed_job with pidfile /var/www/apps/myapp_production/shared/pids/delayed_job.pid
start program = "/var/www/apps/myapp_production/current/script/delayed_job -e production start"
stop program = "/var/www/apps/myapp_production/current/script/delayed_job -e production stop"

Я хотел бы также отслеживать промежуточную версию на том же самом ящике, но я не могу понять, разрешено ли то, что я хочу делать. Моей первой мыслью было просто сделать gsub/production/staging:

# in /etc/monitrc:
include /etc/monit/delayed_job.my_app.staging.monitrc

# in /etc/monit/delayed_job.my_app.staging.monitrc:
check process delayed_job with pidfile /var/www/apps/myapp_staging/shared/pids/delayed_job.pid
start program = "/var/www/apps/myapp_staging/current/script/delayed_job -e staging start"
stop program = "/var/www/apps/myapp_staging/current/script/delayed_job -e staging stop"

Но теперь у меня есть два процесса с именем «delayed_job». Как я могу сказать monit, какой запускать, а какой останавливать? Я хочу сделать что-то вроде

monit start delayed_job.production

но я думаю, что имя процесса должно быть фактическим именем процесса, которое определяется именем скрипта.

Не знаю monit (фактически никогда не пользовался). Может быть, я немного наивен, но если вы уже передаете pid процесса в файл, нет причин использовать ваше имя процесса.

Это приведет к такому простому объявлению, как:

check process delayed_job.production with pidfile ...

Вы уже пробовали?