асинхронный — как я могу вернуть данные из скрипта PHP при выполнении другого процесса асинхронно

Итак, я создал приложение, которое использует API.

Когда кто-то использует этот API для передачи данных в мою базу данных, я бы хотел, чтобы они могли продолжать использовать приложение как можно быстрее. Теперь моя проблема в том, что когда они отправляют данные, я хочу сообщить другим пользователям, что пользователь сделал это. На мой взгляд, лучшим способом добиться этого были push-уведомления.

Однако, когда они отправили данные, я собираю всех пользователей, которым я хочу отправить push-уведомление, и перебираю их, если есть много пользователей, API займет много времени, прежде чем функция будет завершена.

Я хочу иметь возможность отправлять данные обратно клиенту и продолжать выполнять сценарий PHP, поскольку клиент не должен ждать, пока это не закончится. Возможно ли как-то с помощью PHP асинхронно отправлять данные обратно и продолжать выполнение скрипта?

1

Решение

Существует несколько способов создания асинхронных сообщений в PHP.

  • Используйте управляемую событиями библиотеку, такую ​​как реагировать
  • использование ZeroMQ (с или без React) для отправки сообщений через TCP-сокеты другому сервису.
  • Выполнить сценарий фоновой оболочки, используя shell_exec("your-cmd > /dev/null 2>/dev/null &") где your-cmd скрипт или другой исполняемый файл; остальное гарантирует, что PHP позволяет процессу работать в фоновом режиме.
  • Сделайте асинхронный HTTP-запрос как [подробно описано в этом вопросе] (Асинхронные HTTP-запросы в PHP
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector