ilyaplot
@ilyaplot
PHP программист

Каким же способом реализовывать форки в PHP?

Вот хочу написать демона, работающего в несколько потоков. fork нестабилен, exec как то с «детства» навеивает на мысль об огромной дыре в безопасности. Может есть нормальные способы?

Хорош ли для управления потоками gearman?
  • Вопрос задан
  • 3814 просмотров
Решения вопроса 1
s3ek
@s3ek
Fork это который pcntl_fork? Реализовывал как-то именно с помощью его многопоточность, проблем замечено не было.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@cat_crash
Задавался этой же целью. Рекомендую к прочтению: habrahabr.ru/blogs/php/40432/
Ответ написан
AotD
@AotD
PHP, Redis, Postgresql
fork из pcntl_fork так же нестабилен как и обычный Сишный форк. Ни больше ни меньше.
В дочерних процессах контролируем падение по любой ошибке, в том числе ошибке интерпретатора, корректно завершаем процесс с кодом возврата.

Код возврата анализируем в родительском процессе, чтобы определить сдох хомяк естественной смертью или его порвало от капли никотина.

Можно использовать ум предшественников и воспользоваться готовыми решениями: phpdaemon.net/
При должной сноровке и отсутствии боязни пересборки php эта штука не только будет префоркать нужное количество воркеров, но и делать горячую замену кода прямо во время выполнения.

Или nanoserv.si.kz/ — чуть проще, понятней для начала, но для 70% задач и его хватит с головой
Ответ написан
Комментировать
@sandrain
Хорош ли для управления потоками gearman?


Проблем не наблюдалось, всем довольны до сих пор.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы