Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> PHP - как управлять демонами автоматически?
at0m1x  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 26
Пользователь №: 30843
На форуме: 4 года, 11 месяцев, 22 дня
Карма:




Привет всем)

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

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

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

Чего хотелось бы от этой утилиты:
- можно указывать кол-во инстансов демона
- авто-перезапуск через определенные промежутки времени (как по крону)
- авто-запуск при падении демона
- авто-запуск при старте ОС
- веб-интерфейс отображающий текущее потребление памяти и strout и strerr
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
VELIK505  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1515
Пользователь №: 25307
На форуме: 6 лет
Карма: 44




я думаю supervisor может подойти
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
at0m1x  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 26
Пользователь №: 30843
На форуме: 4 года, 11 месяцев, 22 дня
Карма:




Остановился на супервайзере, из плюсов:
- легко ставится через apt-get
- имеет веб интерфейс в котором можно делать старт/стоп/рестарт демонов и смотреть логи
- конфиги демонов можно хранить прямо в проекте (!) http://supervisord.org/configuration.html#...ection-settings
- легко настроить использование supervisorctl без рута http://coffeeonthekeyboard.com/using-super...ot-or-sudo-977/
- также можно демонов для проекта объединить в группу и всей группой их рестартовать http://serverfault.com/questions/586708/ho...r-group-at-once
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
TranceIT  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



...Один я одинаковый...
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1733
Пользователь №: 19760
На форуме: 7 лет, 24 дня
Карма: 58




Цитата
- легко настроить использование supervisorctl без рута

Чтобы не иметь проблем он должен работать не от рута, а от имени пользователя запускающего веб-сервер. Обычно это www-data.


--------------------
Безвозмездно помогаю только тем, кто сам пытается что-то сделать.

Остальным за WMR
Даже если там 10 строк кода!
Даже если мне это ничего не стоит!
Даже если вы нуб!

user posted image
PM
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
[x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1780
Пользователь №: 38654
На форуме: 2 года, 11 месяцев, 7 дней
Карма: 40




Лол, я обычно не заморачивался и писал что-то подобное в работе по cron


set_time_limit(0);
$output = shell_exec("ps o pid,command | grep emulator.php");

$processes = explode("\n", $output);
$processes = array_filter(array_map(function ($process) {
$parts = explode(' ', $process, 2);

if (empty($parts[1])) {
return null;
}

return array(
'pid' => $parts[0],
'command' => $parts[1],
);

}, $processes));

$launched = false;

foreach ($processes as $process) {
if ($process['command'] === 'php bin/emulator.php') {
$launched = true;
}
}


if (!$launched) {
shell_exec("php bin/emulator.php");
}


Надо будет, пощупать supervisor вдруг проще


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
DedMorozzz  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Эникейщик
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 4053
Пользователь №: 19498
На форуме: 7 лет, 1 месяц, 13 дней
Карма: 89




chee, крон это планировщик задач. А супервизор - это более к реалтайму
Т.е. несколько разные задачи, а не взаимозаменяемые. У нас, к примеру, и то и то юзается


--------------------
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
PMПисьмо на e-mail пользователюСайт пользователяICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
chee  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Сын полка
Сообщений: 1780
Пользователь №: 38654
На форуме: 2 года, 11 месяцев, 7 дней
Карма: 40




DedMorozzz, ну я понимаю. Я просто написал тогда этот скрипт, потому что думал, что специально для этого нет софта, сейчас буду знать.


--------------------
Люди, имеющие низкий уровень квалификации, делают ошибочные выводы, принимают неудачные решения и при этом неспособны осознавать свои ошибки в силу низкого уровня своей квалификации

Мой блог
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
at0m1x  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 26
Пользователь №: 30843
На форуме: 4 года, 11 месяцев, 22 дня
Карма:




Хоть кому то моя тема оказалась полезной smile.gif
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса