В настоящее время я использую PHP-FPM с NGINX для запросов переднего конца, но также запускаю некоторые фоновые процессы через длинный PHP-скрипт с использованием exec для запуска других скриптов с помощью командной строки PHP. Я думаю, что это было бы более эффективно, если бы они также выполнялись через PHP-FPM? Любые идеи о том, как я это сделаю? Благодарю.
FPM – это инструмент для M anage F astCGI P rocesses. Просто перетасовывайте буквы. Хотя он управляет долговременными PHP-процессами, он делает это только под ментальным зонтиком FastCGI.
Поскольку вы создаете фоновую рабочую очередь, вам нужно что-то, предназначенное для управления фоновой рабочей очередью и запущенными процессами.
Gearman – отличный выбор для половины очереди работы. Это платформа и язык агностик, и сканирование масштаба до небес и обратно. Расширение PECL работает хорошо.
Чтобы сохранить эти длительные процессы, взгляните на Супервизора .
Они делают отличный дуэт. Просмотрите это сообщение в блоге от PHP хакера Мэтью Вейера О'Пинни, который документирует некоторые из его исследований с Gearman и Supervisor.
Очень поздно к этому вопросу (4 года), но правильным ответом является cgi-fcgi
который позволит вам передавать команды и выполнять код в php-fpm уже в памяти