在laravel中手动释放作业失败

时间:2017-06-14 04:09:03

标签: laravel laravel-5 rabbitmq

我目前正在使用Laravel的队列来处理工作。我需要在某个时间点发布此作业,但即使我实现了release(),它也会立即运行。这是laravel的错误还是我错过了什么?

public function handle()
{
     $this->release(120);

     var_dump('Hello World!!');  ---> This was displayed right after I called the Job

}

此外,QUEUE_DRIVER设置为RabbitMQ

1 个答案:

答案 0 :(得分:0)

我不认为发布是你想要的。释放是在工作120秒后将被放回队列中。

如果您希望它在队列中至少120秒,您可以使用延迟调度。 https://laravel.com/docs/5.4/queues#delayed-dispatching

供参考:

$job = (new MyJob())->delay(Carbon::now()->addMinutes(2));
dispatch($job);