【发布时间】:2020-08-11 15:31:04
【问题描述】:
我正在创建一个生成视频的应用程序。这是一个非常密集的功能,需要几分钟才能生成。所以我想为此创建一个异步进程。经过一些研究,我读到了 Laravel 中的作业和队列。
但是现在我的作业没有插入到jobs 表中。我不知道我做错了什么。
我开始工作的函数:
public function generate() {
$id = Auth::user()->id;
GenerateJob::dispatch($id);
}
我的工作
<?php
namespace App\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Auth;
class GenerateJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
public function __construct($dossierId)
{
$this->dossierId = $dossierId;
}
public function handle()
{
sleep(5);
}
}
.ENV QUEUE_DRIVER=database
我确实运行了php artisan clear:config,但似乎没有任何帮助。
我尝试的任何方法似乎都不起作用。 jobs 表保持为空,作业同步执行而不是异步执行。我在这里错过了什么?
【问题讨论】:
标签: php laravel laravel-queue laravel-jobs