我有一个计划任务,Laravel定义如下,每10分钟运行一次。如果按需作业正在运行,我还需要相同的作业按需运行,如果它已经在运行,或者阻止预定的作业开始运行。
/**
* Define the application's command schedule.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
protected function schedule(Schedule $schedule)
{
$schedule->call(function () {
$job = new \App\Jobs\ImportJob();
$job->handle();
})->name('Import')->everyTenMinutes()->withoutOverlapping();
}
是否有一种很好的,简单的方法可以通过调度API实现这一点,或者Job应该处理它自己的互斥标志?