laravel队列在地平线上

时间:2018-05-27 11:36:32

标签: laravel queue horizon

我需要在队列中只添加一个作业。如果队列中有工作人员,则必须取消下一个作业。 我的代码: 在Kernel.php中

$schedule->command('source')->withoutOverlapping()->everyMinute();

在命令

$count = Redis::lrange('queues:source', 0, -1);

if (count($count) == 0)
    dispatch((new \App\Jobs\Source())->onConnection('redis')->onQueue('source'));

在工作中

public function handle()
{
    dump('job work');
    sleep(2000);
}

但我在Horizo​​n看到了下一份工作。如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

$schedule
            ->call(function () {
                if (Queue::size('source') == 0)
                    dispatch(new TestJob())->onQueue('source');
            })
            ->everyMinute();
在计划程序中

它为我工作