1

我现在在 Laravel 5.4 中工作,并将队列驱动程序配置为数据库并创建了作业迁移。

控制器

public function addUser(){
    $job = (new SendReminderEmail())->delay(Carbon::now()->addSeconds(200));
    dispatch($job);

    dd('Job Completed');
}

队列

public function handle()
{
    $input = ['name'=>'John','email'=>str_random(7),'password'=>Hash::make('general'),];
    DB::table('users')->insert($input);
}

此过程成功在作业表中插入作业行。但是我给了 200 秒的执行延迟。但是时间到了就不会开火了。

这是怎么发生的?工作队列是否需要更多配置。?

4

1 回答 1

2

运行php artisan queue:listenphp artisan queue:work。必须为 Artisan 运行这些以引导应用程序并在后台运行以检查新队列作业,没有它,唯一可以工作的队列类型是“同步”。

于 2017-08-03T09:29:42.623 回答