Вступить в клуб →
средняявопросLaravel: Eloquent, очереди и события

Задача отправки письма падает с ModelNotFoundException для удалённых заказов

class SendOrderReminder implements ShouldQueue
{
    use SerializesModels;

    public function __construct(public Order $order) {}

    public function handle(Mailer $mailer): void { ... }
}

Задачу ставят с задержкой в сутки. Если за это время заказ удалили, задача падает, уходит в повторы и затем в failed_jobs. Что происходит и как правильно?

  • Модель перезагружается из базы по id; задать deleteWhenMissingModels
  • SerializesModels хранит весь заказ, и он устаревает
  • Задачи с задержкой больше часа запрещены
  • Нужно передавать в задачу массив $order->toArray()

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела