我现在正在使用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秒执行延迟。但它不会在时间到来之后开火。
这是怎么回事?工作队列是否需要更多配置。 ?
答案 0 :(得分:2)
运行php artisan queue:listen
或php artisan queue:work
。必须为Artisan运行这些以引导应用程序并在后台运行检查新队列作业,没有它,唯一可行的队列类型是“同步”。