如果在队列作业运行时没有找到条件的数据,如何再次添加相同的队列作业?

时间:2019-12-07 10:35:35

标签: php laravel

我想在运行同一作业时添加另一个相同的队列作业。如果在条件不满足的情况下作业在运行,那么我需要在5分钟的延迟内向其中添加另一个队列。有可能吗?

1 个答案:

答案 0 :(得分:0)

让我们使用InteractsWithQueue特性的释放功能:

class ExampleJob implements ShouldQueue
{
    use InteractsWithQueue;

    public function handle()
    {
        // some code.

        if (! $someCondition) {
            $this->release(5);
        }         
    }
}

如果要创建新的作业实例。也许这会起作用:

class ExampleJob implements ShouldQueue
{
    use InteractsWithQueue;

    public function handle()
    {
        // some code.

        if (! $someCondition) {
            dispatch($this);
            // And return if you want to terminate this job.
            return;
        }         
    }
}