Laravel计划任务没有重叠,按需运行

时间:2017-09-01 11:58:20

标签: php laravel-5.1 laravel-scheduler

我有一个计划任务,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应该处理它自己的互斥标志?

0 个答案:

没有答案