Отправка электронной почты в будущем с определенным условием - Laravel - PullRequest
0 голосов
/ 05 июня 2018

Я разрабатываю приложение, используя сторонний платежный шлюз для приема банковских переводов.Срок банковского перевода истекает в течение 6 часов, если платежный шлюз не получит перевод от клиента.Я хочу отправить напоминание по электронной почте за 1 час до истечения срока.

В настоящее время я использую планирование задач каждые 15 минут, чтобы проверить свои таблицы транзакций одну за другой.Транзакция растет и составит миллион транзакций в день за короткое время.

Этот подход не очень хорош, потому что работа cron потребляет огромную память и не эффективна.Мне нужен совет, чтобы оптимизировать подход.Кто-нибудь может пролить свет?

1 Ответ

0 голосов
/ 05 июня 2018

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

В таблице «ожидание» будет только несколько полей, которые необходимо знать, если передача еще не завершена.При чтении этой таблицы вы «присоединяете» ее к основной таблице, чтобы получить остальную информацию.

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