Очередь Laravel не вставляется в таблицу, но работа все еще выполняется

#laravel #laravel-queue

#laravel #laravel-queue

Вопрос:

Итак, я пытаюсь создать задание в очереди, но оно не добавляется в базу данных или php artisan queue:listen database ничего не показывает. Однако работа внутри handle() функции выполняется.

Класс работы:

 class OrderCreatedJob implements ShouldQueue
{
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;

    public function __construct() {
        //
    }

    public function handle() {
        Notification::route('mail', 'my@email.com')->notify(new TestNotif());
    }
}

 

Функция контроллера (также обратите внимание, что задержка AddMinutes никогда не происходит, она отправляется сразу)

 public function jobTest() {
    $this->dispatch((new OrderCreatedJob())->delay(Carbon::now()->addMinutes(1)));
}
 

В .env я также QUEUE_DRIVER=database добавил.

Итак, проблема в том, что электронное письмо отправляется, но оно выполняется сразу, а браузеру все равно требуется время для запроса. Задание также не отображается в базе данных, и задержка также не работает.

Где я ошибаюсь?

Ответ №1:

Таким образом, исправление заключалось в том, чтобы иметь QUEUE_CONNECTION=database внутри env-файла, а не QUEUE_DRIVER=database