我试图在Laravel中使用Queues延迟。我永远无法延迟工作,所有工作都会立即解雇。
我在config / queue.php和.env中将驱动程序设置为“database” 我还使用php artisan创建了作业表并进行了迁移。 运行php工匠队列:工作或队列:listen具有相同的效果,工作立即触发。
我在数据库中看到,在jobs表中,字段“available_at”和“created_at”实际上都包含相同的时间戳,忽略了我在代码中放入的延迟:
$job = (new ParkingMatchJob($this->seller,$this->job_counter+1))->delay(Carbon::now()->addSeconds(20));
$this->dispatch($job);
我也尝试过:
$job = (new ParkingMatchJob($this->seller,$this->job_counter+1))->delay(20);
$this->dispatch($job);
无济于事。
我在laravel.log或php_error.log
中没有看到任何错误如果你能帮助我,我会提前感谢你。
答案 0 :(得分:0)
我认为发货的顺序不正确。
应该在延迟()之前:
ParkingMatchJob::dispatch($this->seller,$this->job_counter+1)->delay(Carbon::now()->addSeconds(20));