Laravel Schedule withoutOverlapping() 不适用于 runInBackground()
Laravel Schedule withoutOverlapping() is not working with runInBackground()
我正在尝试为 /app/Console/Kernel.php
中的命令设置时间表,但发现 withoutOverlapping()
不适用于 runInBackground()
这没有重叠:
$schedule
->command('test:update')
->withoutOverlapping();
这与任务重叠:
$schedule
->command('test:update')
->withoutOverlapping()
->runInBackground();
在第一种情况下,它在没有重叠的情况下工作,因为命令在前台 运行ning 并且调度程序正忙于处理此命令,因此在当前命令完成之前不会 运行 新命令。 withoutOverlapping()
此处没有任何影响。
所以问题是互斥量不是用 withoutOverlapping()
创建的。 Laravel 调度程序正在使用互斥缓存。将缓存驱动程序切换到 redis 有助于解决此问题,现在 withoutOverlapping()
可以正常工作。
我正在尝试为 /app/Console/Kernel.php
中的命令设置时间表,但发现 withoutOverlapping()
不适用于 runInBackground()
这没有重叠:
$schedule
->command('test:update')
->withoutOverlapping();
这与任务重叠:
$schedule
->command('test:update')
->withoutOverlapping()
->runInBackground();
在第一种情况下,它在没有重叠的情况下工作,因为命令在前台 运行ning 并且调度程序正忙于处理此命令,因此在当前命令完成之前不会 运行 新命令。 withoutOverlapping()
此处没有任何影响。
所以问题是互斥量不是用 withoutOverlapping()
创建的。 Laravel 调度程序正在使用互斥缓存。将缓存驱动程序切换到 redis 有助于解决此问题,现在 withoutOverlapping()
可以正常工作。