引用https://laravel.com/docs/5.1/scheduling#preventing-task-overlaps,
$schedule->command('emails:send')->withoutOverlapping();
在此示例中,每个都会运行
emails:send
Artisan命令 分钟,如果它还没有运行。
如果我希望每五分钟执行一次任务怎么办?我可以这样做吗?:
$schedule->command('emails:send')->everyFiveMinutes()->withoutOverlapping();
答案 0 :(得分:2)
是的,你可以这样做。 command
返回Event实例,Event
的基础代码具有流畅的界面,允许您以这种方式将这些链接在一起。
如果您查看withoutOverlapping
方法,可以自行查看。
/**
* Do not allow the event to overlap each other.
*
* @return $this
*/
public function withoutOverlapping()
{
$this->withoutOverlapping = true;
return $this->skip(function () {
return file_exists($this->mutexPath());
});
}