#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