Цель:
Я хочу проверить, может ли определенное задание обрабатываться каждую минуту.
Для этого я хочу использовать Планирование задач.
Однако яЯ не уверен, как решить эту проблему с моей конечной целью API:
SmsNotificaton::send($user, new OrderReceived($order));
Как бы вы это сделали?
Объяснение:
Я хочусэкономьте немного денег, не отправляя SMS напрямую пользователю, только через 15 минут прошло, и статус заказа не изменился.
Внутри new OrderReceived($order)
У меня будет handle
метод.Этот метод просто проверяет, изменился ли статус заказа или нет.Если изменено, мы отправляем SMS через мой SmsGateway
.
Проблема:
Как бы вы сохранили данные $user
и new OrderReceived($order)
в базе данных , так что вы можете вызывать команду cron каждую минуту , чтобы снова извлечь старые данные $user
и new OrderReceived($order)
, чтобы проверить, можно ли их отправить?
Этодолжно быть очень похоже на работу системы очередей Laravel, но я попытался понять, как работает сериализация, но не могу понять, как диспетчер сохраняет данные и т. д.