我有一个laravel队列设置到数据库。当我运行dd(env('QUEUE_DRIVER'))
时,我得到database
。当我创建一份工作时,它立即运行。我希望这份工作能够排队,直到我运行php artisan queue:work
。我需要做些什么才能让这项工作不会马上运行。谢谢!Laravel队列立即运行
编辑1:
调度代码:
for ($i=0; $i < 100; $i++) {
$job = new UpdateJob("");
dispatch($job);
}
职位代码:
public function handle(){
sleep(30);
SlackApi::SendMessage("Job!");
}
当我运行此我得到一个消息松弛每30秒。但是这些作业都没有存储在数据库中。
编辑2:
即使当我添加->delay(Carbon::now()->addMinutes(10))
到作业的作业仍在运行的时候了。
当您将作业放入队列时,它将尽可能快地运行。当您必须执行许多任务时才创建作业功能,以便它们在队列中排队并逐一执行。也许这篇文章可以帮助你:https://laracasts.com/discuss/channels/laravel/laravel-51-queue-job-delay-doesnt-work –
让我看看你的代码行,你派遣你的工作 – vietnguyen09
@ vietnguyen09请参阅编辑 –