Laravel 队列未插入 table,但工作仍在执行

Laravel Queue not inserting into the table, but the work still executes

所以我正在尝试创建一个排队的作业,但它没有被添加到数据库中,或者 php artisan queue:listen database 没有显示任何内容。然而,handle() 函数中的工作被执行。

工作class:

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

所以问题是电子邮件正在发送,但它是立即完成的,浏览器仍然需要时间来处理请求。该作业也没有出现在数据库中,延迟也没有。

我哪里错了?

所以解决方法是在 env 文件中包含 QUEUE_CONNECTION=database,而不是 QUEUE_DRIVER=database