А есть ли процесс-менеджер для php?



Коллеги, а есть ли процесс-менеджер для пхп, как php-fpm, только который бы исполнял скрипты не по fastcgi-запросам, а по другим событиям, например, сообщениям из очереди?
818   14  

Comments

  1. Владислав Ярмак
    Владислав Ярмак 5 лет назад
    Вряд ли тут нужно что-то готовое. Проще в цикле в скрипте обрабатывать пачку из очереди, а несколько процессов запустить средствами какого-нибудь supervisord.
  2. Григорий Соколик
    Григорий Соколик 5 лет назад
    Проблема в том, что большинство фреймворков текут.
    • Григорий Соколик
      Григорий Соколик 5 лет назад
      Grigori Kochanov Если каждый раз, когда что-то не нравится, дописывать костыль -- проект через 3 месяца превратится в спагети.
  3. Александр Акафьев
    Александр Акафьев 5 лет назад
    А как вы себе механизм работы представляете ?
    • Григорий Соколик
      Григорий Соколик 5 лет назад
      Это всего-лишь правило для маппинга http-реквестов в fastcgi... Я говорю о том, что инициировать выполнение скриптов должны мочь и другие события (помимо fastcgi запросов, или http запросов, превращаемых в fascgi нджинксом).
  4. Григорий Кочанов
    Григорий Кочанов 5 лет назад
    В чем проблема написать свой обработчик события на PHPDaemon/ReactPHP?
  5. Igor Podlesny
    Igor Podlesny 5 лет назад
    Да аще непонятно, что мешает сообщения из очереди FastCGI huyak-huya?
  6. Григорий Добряков
    Григорий Добряков 5 лет назад
    Григорий Соколик наш древний опыт (сейчас так уже не стал бы делать) http://www.dobryakov.com/blog/1625/
    • Григорий Соколик
      Григорий Соколик 5 лет назад
      Клёво написаная статья. Единственное что: едва ли бывает космических нагрузок без космических бюджетов (и наоборот, конечно!). Зря что ли, баду, вон, несколько датацентров содержит и не жмётся на условия прогерам и админам...
  7. Artem Demchenkov
    Artem Demchenkov 5 лет назад
    Доктрина течет только в путь, это да. Вариантов два. Первый, как вам уже посоветовали, супервайзер, который поднимает воркер, после падения. Monit отлично подходит для этого, а количество воркеров удобно меняется в его конфиге. Второй вариант, написать простой воркер на чем нибудь более для этого подходящем, чем PHP, да хоть на баше. А вся его работа только в том, чтобы при получении нового сообщения из очереди, запускать консольную команду PHP, которая его обрабатывает и благополучно умирает. Подозреваю, что вместе с Доктриной у вас там Симфони, а команды там удобно пишутся из коробки.
    • Григорий Соколик
      Григорий Соколик 5 лет назад
      У второго варианта есть проблема в том, что очень большие расходы на создание процесса. Пока что делаем первым. Но, думал, как бы хорошо было именно с процесс-менеджером.
  8. Сергей Шипков
    Сергей Шипков 5 лет назад
    http://j-php.net
    • Владислав Ярмак
      Владислав Ярмак 5 лет назад
      В их же твиттере:
    • Идрис Кубатаев
      Идрис Кубатаев 5 лет назад
      https://github.com/jphp-compiler/jphp/graphs/contributors