Skip to content

Commit 8933125

Browse files
authored
Merge pull request #54566 from nextcloud/backport/50942/stable30
[stable30] fix(cron): Ignore time sensitivity when a class was explicitely scheduled
2 parents d30981f + e4722fd commit 8933125

1 file changed

Lines changed: 6 additions & 4 deletions

File tree

cron.php

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
3333
Arguments:
3434
job-classes Optional job class list to only run those jobs
35+
Providing a class will ignore the time-sensitivity restriction
3536
3637
Options:
3738
-h, --help Display this help message' . PHP_EOL;
@@ -110,10 +111,14 @@
110111
$appConfig->setValueString('core', 'backgroundjobs_mode', 'cron');
111112
}
112113

114+
// a specific job class list can optionally be given as argument
115+
$jobClasses = array_slice($argv, 1);
116+
$jobClasses = empty($jobClasses) ? null : $jobClasses;
117+
113118
// Low-load hours
114119
$onlyTimeSensitive = false;
115120
$startHour = $config->getSystemValueInt('maintenance_window_start', 100);
116-
if ($startHour <= 23) {
121+
if ($jobClasses === null && $startHour <= 23) {
117122
$date = new \DateTime('now', new \DateTimeZone('UTC'));
118123
$currentHour = (int) $date->format('G');
119124
$endHour = $startHour + 4;
@@ -141,9 +146,6 @@
141146
$endTime = time() + 14 * 60;
142147

143148
$executedJobs = [];
144-
// a specific job class list can optionally be given as argument
145-
$jobClasses = array_slice($argv, 1);
146-
$jobClasses = empty($jobClasses) ? null : $jobClasses;
147149

148150
while ($job = $jobList->getNext($onlyTimeSensitive, $jobClasses)) {
149151
if (isset($executedJobs[$job->getId()])) {

0 commit comments

Comments
 (0)