Запустите функцию после проверки значения в базе данных MySQL через определенное время (30 секунд). - PullRequest
0 голосов
/ 07 января 2019

Я создал портал бронирования грузовиков по запросу. Функциональные возможности:

  1. Заказчик бронирует транспортное средство по своему выбору.
  2. После ввода необходимые данные бронирования вставлены в базу данных.
  3. Согласно место получения клиентов, уведомление водителю отправляется через Firebase на Android-приложение в радиусе 3 км.

Моя проблема

Я хочу отправить уведомление водителям, которые находятся в радиусе 3 км, и подождать 30 секунд, пока водитель примет бронирование. Если ни один из водителей в течение 3 км не примет бронирование через 30 секунд, то я снова хочу отправить уведомление водителям, которые находятся в пределах 3 км и 5 км, и проверить, принято ли бронирование водителем через 30 секунд. если ни один из водителей не примет бронирование, я отправлю СМС клиенту, что ваш заказ не принят.

что я должен использовать для обеспечения вышеуказанной функциональности? У меня есть поиск в интернете, и я нашел о CRON JOB ... который основан на определенном времени суток. но я хочу выполнить функцию после каждого бронирования, вставленного в базу данных, и проверить его ..

1 Ответ

0 голосов
/ 07 января 2019

Эта ситуация идеально подходит для очередей сообщений. Каждый раз, когда событие инициируется, вы помещаете сообщение в очередь с задержкой в ​​30 секунд, прослушиваете сообщение и действуете соответствующим образом.

Проверьте https://github.com/marsanla/Codeigniter-jobQueue для реализации очереди CodeIgniter.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...