@Vakas
php-программист

Как отдать ответ клиенту и продолжить выполнение долгого скрипта?

Сторонний сервер дёргает мой скрипт через file_get_contents и ждёт пока он полностью выполниться.
Вкратце скрипт получает данные через GET, логирует и затем передаёт их в стороннюю CRM систему.
Последняя стадия занимает слишком много времени (секунд 5).
Вообщем надо чтобы после получения данных, скрипт отдавал статус 200 и отпускал сервер.
А передача данных в crm происходила уже после
  • Вопрос задан
  • 372 просмотра
Пригласить эксперта
Ответы на вопрос 3
@sl0
Нужен брокер очередей RabbitMQ, например.
Получаете данные, создаете задачу в брокере и отдаете 200. А долгой передачей данных будет брокер заниматься.
Ответ написан
Комментировать
Stalker_RED
@Stalker_RED
https://www.php.net/manual/ru/function.pcntl-fork.php
Запускаете дочерний процесс, отдаете 200, а дочерний пусть работает себе.
Ответ написан
Комментировать
@Vakas Автор вопроса
php-программист
Думал есть более простое решение )
Сделал через очереди, всем спасибо
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы