没有Overlapping()的任务调度无法正常运行Laravel 6.0

问题描述 投票:0回答:1

所以,在我的Commands/Kernel.php中,我有这个:

$schedule->command('queue:restart')->everyFiveMinutes();
$schedule->command('queue:work')->everyMinute()->withoutOverlapping();

应该为supervisor模拟一个queue:work,在我的cron工作中,我有这个:

cd path/to/my/project && php artisan schedule:run >> /dev/null 2>&1

按照文档中的要求运行每个* * * * *,但是它每次都会生成一个进程,因此我认为->withoutOverlapping()不能正常工作。

但是,我在同一项目的同一服务器上的另一个项目中具有相同的代码,并且运行良好,并且两个项目均为Laravel 6.x项目,因此我可以想象这可能是一些缓存文件或锁定问题。想法?

php laravel scheduling jobs
1个回答
0
投票

嗯...结果证明php artisan cache:clear删除了所有锁,我将Artisa::call('cache:clear')作为我的schedule方法的第一行,该方法每次都删除该锁...删除它,它可以解决所有问题] >

© www.soinside.com 2019 - 2024. All rights reserved.