За последние 24 часа нас посетили 22025 программистов и 1099 роботов. Сейчас ищут 720 программистов ...

PHP - как управлять демонами автоматически?

Тема в разделе "PHP для профи", создана пользователем at0m1x, 27 дек 2015.

  1. at0m1x

    at0m1x Активный пользователь

    С нами с:
    18 дек 2011
    Сообщения:
    31
    Симпатии:
    0
    Привет всем)

    Есть проект, в котором используются фоновые обработчики очередей задач, например отправка писем. Эти фоновые обработчики работают в виде демоном. Каждый демон настроен в upstart'е, для того что бы в случае падения, система автоматически его запускала. Но есть небольшое неудобство, заключается оно в том, что для каждого демона нужно создавать отдельный конфиг апстарта вручную. ОС: Ubuntu.

    Вопрос: есть ли для PHP какая либо утилита, которая позволяла бы в проекте создать конфиг файл, по которому бы демоны автоматически экспортировались в апстарт. Или что бы эта утилита сама отслеживала работу демонов и перезапускала их в случае падения.

    Знаю что есть подобные утилиты в других ЯП например в руби это фореман, в ноде это например pm2. Но хотелоcь бы найти что то более "родное" именно для PHP.

    Чего хотелось бы от этой утилиты:
    - можно указывать кол-во инстансов демона
    - авто-перезапуск через определенные промежутки времени (как по крону)
    - авто-запуск при падении демона
    - авто-запуск при старте ОС
    - веб-интерфейс отображающий текущее потребление памяти и strout и strerr
     
  2. Abyss

    Abyss Старожил

    С нами с:
    12 дек 2015
    Сообщения:
    1.298
    Симпатии:
    218
    Адрес:
    Default city
    Слушай, ну всё упрется в exec и права. Нужна будет или обёртка над root, простой скомпиленый скрипт с setuid(0); и исполнением уже от рута. Это опасно, прямой путь в ад в кривых руках. Можно настроить учетку apache (если php-fpm) чтобы можно было работать в таких-то директориях и запускать такие-то процессы, но это все долго и муторно.
    Я для supervisor'а делал минискриптец с for'ом и прочими прелестями. Чик-чик и конфиг готов. Но это статический путь. С динамикой определённо exec. Или через базу как-то, зависит от твоего upstart'а.
     
  3. at0m1x

    at0m1x Активный пользователь

    С нами с:
    18 дек 2011
    Сообщения:
    31
    Симпатии:
    0
    Остановился на супервайзере, из плюсов:
    - легко ставится через apt-get
    - имеет веб интерфейс в котором можно делать старт/стоп/рестарт демонов и смотреть логи
    - конфиги демонов можно хранить прямо в проекте (!) http://supervisord.org/configuration.html#include-section-settings
    - легко настроить использование supervisorctl без рута http://coffeeonthekeyboard.com/usin...nux-permissions-but-without-root-or-sudo-977/
    - также можно демонов для проекта объединить в группу и всей группой их рестартовать http://serverfault.com/questions/586708/how-can-i-control-a-whole-supervisor-group-at-once
     
  4. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.072
    Симпатии:
    1.237
    Адрес:
    там-сям
    Это отличная штука, но ведь ты спрашивал "родное на пэхапэ", не?
     
  5. at0m1x

    at0m1x Активный пользователь

    С нами с:
    18 дек 2011
    Сообщения:
    31
    Симпатии:
    0
    Да спрашивал про родное для ПХП) Но супервизор оказался оч. удобным и простым в настройке и использовании.

    А что касается "родных" демонов для ПХП, есть конечно варианты, но по сравнению с возможностями и удобством супервизора они не оч. хороши.

    Так что однозначно супервизор в прод)
     
  6. khan

    khan Новичок

    С нами с:
    25 окт 2015
    Сообщения:
    49
    Симпатии:
    0
    O_O вы говорить о пхп или тут уже экзорцизм?)точняк на еврите)
     
  7. Alex5646

    Alex5646 Новичок

    С нами с:
    29 дек 2015
    Сообщения:
    277
    Симпатии:
    4
    Адрес:
    От верлюда
     
  8. khan

    khan Новичок

    С нами с:
    25 окт 2015
    Сообщения:
    49
    Симпатии:
    0
    некогда бы не подумал, ща перечитаю форум:) осмыслю
     
  9. Alex5646

    Alex5646 Новичок

    С нами с:
    29 дек 2015
    Сообщения:
    277
    Симпатии:
    4
    Адрес:
    От верлюда
    Для таких случаев есть гугл, а на крайняк форум для новичков,
     
  10. khan

    khan Новичок

    С нами с:
    25 окт 2015
    Сообщения:
    49
    Симпатии:
    0
    согласен, но тут интереснее)