Gearman работа в фоновом режиме

Всем привет.
Второй день мучаю Gearman в связке с php. Всё круто но интересует один момент.
Хочу что бы он обрабатывал задачи в фоновом режиме то есть.
Сейчас для того что бы отработать задачу необходимо запустить воркер и он висит в командной строке.
Требуется запустить и закрыть командную строку но воркер должен продолжать работать.
Пробовал делать вывод в /dev/null но это не работает.
Как лучше поступить?
Обязательно использовать supervisord??? Или есть варианты оптимальнее?
  • Вопрос задан
  • 4117 просмотров
Решения вопроса 1
Runit (но это аналог supervisord), весьма просто запуск в одну строку, умеет вести лог, запускать процессы от пользователя, в случае падения процесса поднять его, заменять init.d скрипты. насколько я помню написан на C и есть минимум ресурсов.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
@rowdyro
У меня все воркеры германа работают вот так
/usr/bin/php worker.php 2>&1 > /var/log/worker.log &

запускаются в сервисном скрипте, а в кроне висит сторожек, который мониторит процессы по pid файлу
Ответ написан
Комментировать
smartfin
@smartfin
1) можно кроном запускать воркер, а в нем встроить проверку на количество запущенных воркеров, основанную на pid файлах.
2) супервизором
3) Как вариант, если работа на удаленном сервере — воспользоваться screen/tmux
Ответ написан
Комментировать
Skpd
@Skpd
Можно в пхп скрипте сделать 2 раза форк и получить процесс, который отвязан от консоли.
Ответ написан
Комментировать
@sandrain
У Supervisord'а наблюдались глюки при большом количестве воркеров, так что будьте осторожней

Пруф
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
28 мар. 2024, в 20:46
150000 руб./за проект
28 мар. 2024, в 20:37
50000 руб./за проект
28 мар. 2024, в 20:34
1500 руб./за проект