Обработка HTTP-сервера PHP для немедленной отправки HTTP-ответа, продолжая внутреннюю обработку в отдельном процессеPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Обработка HTTP-сервера PHP для немедленной отправки HTTP-ответа, продолжая внутреннюю обработку в отдельном процессе

Сообщение Anonymous »

Я реализую некоторое PHP-приложение на сервере A, которое получает запрос от клиента (браузера), что приведет к отправке HTTP-запроса на другой сервер B. Затем на запрос клиента поступает ответ (отправляется ответ HTTP).
Некоторое время спустя сервер A получает HTTP-запрос обратного вызова от сервера B. Сервер B ожидает (немедленного) HTTP-ответа с кодом состояния 200. Затем эта часть заканчивается, пока сервер A должен завершить обработку данных полученные от сервера B.
Помещение данных в какую-то очередь и периодический запуск задания cron для просмотра очереди и работы с данными здесь не подходит, главным образом потому, что данные а) должны обрабатываться как можно быстрее и б) события происходят редко (задание cron в большинстве случаев будет выполняться впустую).
Итак, я подумал об использовании fork() для создания дочернего процесса. Родительский процесс затем ответит серверу Б, в то время как дочерний процесс будет работать с данными.
Итак, вот код без деталей обработки: Похоже ли это на подходящее решение?
Мне неясно состояние сетевого подключения в дочернем процессе. Согласно ручному поведению (обычному fork()), дочерний элемент наследует все дескрипторы открытых файлов, включая сетевые подключения (если я не ошибаюсь).
Возможно, "pcntl_unshare()" должен использоваться для отключения сетевых подключений от родителя? К сожалению, такие параметры, как «CLONE_NEWNET», похоже, не описаны в руководстве.
Любые мысли и советы приветствуются

Подробнее здесь: https://stackoverflow.com/questions/798 ... ntinue-bac
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»