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

Запускать несколько скриптов PHP через Monit

У меня есть два сценария PHP, выступающих в качестве потребителей RabbitMQ, и я хочу, чтобы они запускались и контролировались (+ автоматически перезапускались) через monit.

Мой / etc / monitrc для двух процессов выглядит так:

check process php-magento-category
        matching "openerp:category:consumer"
        start program = "/usr/bin/php /home/dev/magento/base/magento2/bin/magento openerp:category:consumer"
        as uid cehrig and gid cehrig

check process php-magento-product
        matching "openerp:product:consumer"
        start program = "/usr/bin/php /home/dev/magento/base/magento2/bin/magento openerp:product:consumer"
        as uid cehrig and gid cehrig

Фактически, monit запускает только первый из обоих процессов, благодаря чему ps fax выглядит так:

 4622 ?        Sl     0:00 monit
 5036 ?        Ss     0:00  \_ /usr/bin/php /home/dev/magento/base/magento2/bin/magento openerp:category:consumer

Второй процесс PHP никогда не запускается. Статус Monit выглядит так

Process 'php-magento-category'
  status                       Initializing
  monitoring status            Initializing
  monitoring mode              active
  on reboot                    start
  data collected               Tue, 10 Jan 2017 10:50:58

Process 'php-magento-product'
  status                       Execution failed | Does not exist
  monitoring status            Monitored
  monitoring mode              active
  on reboot                    start
  data collected               Tue, 10 Jan 2017 10:51:28

Может ли кто-нибудь указать мне правильное направление, как это исправить? Заранее спасибо.

Вы можете создать сценарий оболочки, который запускает нужные команды PHP, а затем вызывать сценарий оболочки из Monit.