fix for cron force running

Signed-off-by: Andy Miller <rhuk@mac.com>
This commit is contained in:
Andy Miller
2025-09-03 17:32:48 -06:00
parent 0fd734c8df
commit f7c77d1173
2 changed files with 10 additions and 6 deletions

View File

@@ -87,10 +87,7 @@
"ext-exif": "Needed to use exif data from images." "ext-exif": "Needed to use exif data from images."
}, },
"config": { "config": {
"apcu-autoloader": true, "apcu-autoloader": true
"platform": {
"php": "7.3.6"
}
}, },
"autoload": { "autoload": {
"psr-4": { "psr-4": {

View File

@@ -57,8 +57,14 @@ class SchedulerCommand extends GravCommand
'Force run all jobs or a specific job if you specify a specific Job ID', 'Force run all jobs or a specific job if you specify a specific Job ID',
false false
) )
->addOption(
'force',
'f',
InputOption::VALUE_NONE,
'Force all due jobs to run regardless of their schedule'
)
->setDescription('Run the Grav Scheduler. Best when integrated with system cron') ->setDescription('Run the Grav Scheduler. Best when integrated with system cron')
->setHelp("Running without any options will force the Scheduler to run through it's jobs and process them"); ->setHelp("Running without any options will process the Scheduler jobs based on their cron schedule. Use --force to run all jobs immediately.");
} }
/** /**
@@ -84,6 +90,7 @@ class SchedulerCommand extends GravCommand
$run = $input->getOption('run'); $run = $input->getOption('run');
$showDetails = $input->getOption('details'); $showDetails = $input->getOption('details');
$showJobs = $input->getOption('jobs'); $showJobs = $input->getOption('jobs');
$forceRun = $input->getOption('force');
// Handle running jobs first if -r flag is present // Handle running jobs first if -r flag is present
if ($run !== false) { if ($run !== false) {
@@ -256,7 +263,7 @@ class SchedulerCommand extends GravCommand
} }
} elseif (!$showJobs && !$showDetails && $run === false) { } elseif (!$showJobs && !$showDetails && $run === false) {
// Run scheduler only if no other options were provided // Run scheduler only if no other options were provided
$scheduler->run(null, true); $scheduler->run(null, $forceRun);
if ($input->getOption('verbose')) { if ($input->getOption('verbose')) {
$io->title('Running Scheduled Jobs'); $io->title('Running Scheduled Jobs');