我正在尝试配置laravel任务调度器,我从0到无穷大来测试为什么withoutoverlapping()不能工作。
我的代码:
protected function schedule(Schedule $schedule)
{
$schedule->call(function (Request $request)
{
$i=0;
while(1)
{
echo $i."-";
sleep(3);
$i++;
}
})->everyMinute()->name('mailfetch')->withoutOverlapping();
}如果我的调度器正在运行,并且我试图运行另一个调度器,那么这不应该执行,但在我的示例中,这两个调度程序都开始运行并开始运行数据。
输出:

一切似乎都是正确的,但不知道为什么会这样。
发布于 2017-07-12 11:57:28
如果您在同一分钟内启动它们,它不会与重叠,只会与重叠。因为,你对你的过程说:“每分钟开始一个无限循环”。所以当你运行你的新实例时,也许你正处在一个新的时刻。
如果您想尝试一些关于重叠的方法,可以尝试:
$schedule->call(function (Request $request) {
echo 'start';
sleep(120);
echo '- end';
})->dailyAt('13:00')->withoutOverlapping();https://stackoverflow.com/questions/45056911
复制相似问题