ScheduleClearCacheCommand.php
TLDR
This file contains the ScheduleClearCacheCommand
class, which is a command for deleting the cached mutex files created by the scheduler.
Classes
ScheduleClearCacheCommand
The ScheduleClearCacheCommand
class extends the Command
class from the Illuminate\Console
namespace. It represents a console command to clear the cache of mutex files created by the scheduler. The command name is schedule:clear-cache
and the command description is "Delete the cached mutex files created by scheduler". The main method in this class is handle(Schedule $schedule)
, which is responsible for deleting the mutex files associated with scheduled events. If there are no mutex files found, it displays a message stating that no mutex files were found.
<?php
namespace Illuminate\Console\Scheduling;
use Illuminate\Console\Command;
class ScheduleClearCacheCommand extends Command
{
/**
* The console command name.
*
* @var string
*/
protected $name = 'schedule:clear-cache';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Delete the cached mutex files created by scheduler';
/**
* Execute the console command.
*
* @param \Illuminate\Console\Scheduling\Schedule $schedule
* @return void
*/
public function handle(Schedule $schedule)
{
$mutexCleared = false;
foreach ($schedule->events($this->laravel) as $event) {
if ($event->mutex->exists($event)) {
$this->components->info(sprintf('Deleting mutex for [%s]', $event->command));
$event->mutex->forget($event);
$mutexCleared = true;
}
}
if (! $mutexCleared) {
$this->components->info('No mutex files were found.');
}
}
}