@NickyRomero

Параллельное выполнение функции в скрипте, php?

Добрый день!
Есть функция_1 на сайте, которая собирает при успешном оформлении заказа данные по этому заказу, затем готовый результат отправляет в telegram, боту. Отправка реализована отдельной функцией_2 и вызывается внутри функции_1 Проблема в том, что это все выполняется последовательно, и пока не выполнится функция_2, функция_1 не закончит свою работу и оформление заказа у пользователя будет висеть в статусе ожидания, хотя заказ уже оформлен по сути и создан в системе. Бывают моменты, когда бот тупит или не доступен и функция_1 ждет завершения функция_2, в итоге у пользователя в браузере висит статус ожидания очень долго. Можно ли как то распараллелить работу этих функций, по факту, не важно отправлено уведомление или нет, главное, чтобы функция_1 закончила свою работу, не дожидаясь результата работы функции_2. Можно ли это осуществить с помощью pthreads?
  • Вопрос задан
  • 159 просмотров
Пригласить эксперта
Ответы на вопрос 3
inoise
@inoise Куратор тега PHP
Solution Architect, AWS Certified, Serverless
Очереди ваше все. RabbitMQ, например
Ответ написан
Комментировать
profesor08
@profesor08 Куратор тега PHP
ajax. На js делаешь все визуальные изменения на сайте, параллельно отправив ajax запрос на сервер. В колбеке запроса делаешь все свои дела, когда запрос отработает.
Ответ написан
Комментировать
@rPman
php однопоточный, а достпуные многопоточные сборки - это чтобы плагины работали синхронно, если это им зачем то понадобится.

Соответственно единственный способ запускать что то параллельно и независимо - это запускать php отдельным сервисом и как то с ним из вашего приложения сообщаться (сокеты, пайпы, или любой другой межпроцессорный способ взаимодействия).

Если вам прямо смерть как надо, переписывайте на асинхронную работу свои методы, тогда у вас вообще такой проблемы не возникнет. phpreact смотрите.
Ответ написан
Ваш ответ на вопрос

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

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