diff options
author | Joas Schilling <coding@schilljs.com> | 2025-02-21 10:45:40 +0100 |
---|---|---|
committer | backportbot[bot] <backportbot[bot]@users.noreply.github.com> | 2025-02-21 13:40:50 +0000 |
commit | 83652ec4be38a4384894349223601c98b4e7012e (patch) | |
tree | 887e9f9974e3621a8929dc5802d15b47ae40f3d0 | |
parent | 8c2a39cd89eb088e5f6fcb2bd4e9255bccf18dbe (diff) | |
download | nextcloud-server-backport/50942/stable31.tar.gz nextcloud-server-backport/50942/stable31.zip |
fix(cron): Ignore time sensitivity when a class was explicitely scheduledbackport/50942/stable31
Signed-off-by: Joas Schilling <coding@schilljs.com>
-rw-r--r-- | cron.php | 12 |
1 files changed, 7 insertions, 5 deletions
@@ -32,6 +32,7 @@ Usage: Arguments: job-classes Optional job class list to only run those jobs + Providing a class will ignore the time-sensitivity restriction Options: -h, --help Display this help message @@ -112,10 +113,14 @@ Options: $appConfig->setValueString('core', 'backgroundjobs_mode', 'cron'); } + // a specific job class list can optionally be given as argument + $jobClasses = array_slice($argv, $verbose ? 2 : 1); + $jobClasses = empty($jobClasses) ? null : $jobClasses; + // Low-load hours $onlyTimeSensitive = false; $startHour = $config->getSystemValueInt('maintenance_window_start', 100); - if ($startHour <= 23) { + if ($jobClasses === null && $startHour <= 23) { $date = new \DateTime('now', new \DateTimeZone('UTC')); $currentHour = (int)$date->format('G'); $endHour = $startHour + 4; @@ -143,9 +148,6 @@ Options: $endTime = time() + 14 * 60; $executedJobs = []; - // a specific job class list can optionally be given as argument - $jobClasses = array_slice($argv, $verbose ? 2 : 1); - $jobClasses = empty($jobClasses) ? null : $jobClasses; while ($job = $jobList->getNext($onlyTimeSensitive, $jobClasses)) { if (isset($executedJobs[$job->getId()])) { @@ -159,7 +161,7 @@ Options: $timeBefore = time(); $memoryBefore = memory_get_usage(); $memoryPeakBefore = memory_get_peak_usage(); - + if ($verbose) { echo 'Starting job ' . $jobDetails . PHP_EOL; } |