Запланированное задание Laravel без дублирования, запуск по требованию

У меня есть запланированное задание с 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();
}

Есть ли хороший, простой способ достичь этого с помощью schedular API или Job должен позаботиться о собственном флаге мьютекса?

3

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]