@NickyRomero

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
26 апр. 2024, в 06:46
1000 руб./в час
26 апр. 2024, в 05:31
1000 руб./за проект