|
32 | 32 |
|
33 | 33 | Arguments:
|
34 | 34 | job-classes Optional job class list to only run those jobs
|
| 35 | + Providing a class will ignore the time-sensitivity restriction |
35 | 36 |
|
36 | 37 | Options:
|
37 | 38 | -h, --help Display this help message
|
|
112 | 113 | $appConfig->setValueString('core', 'backgroundjobs_mode', 'cron');
|
113 | 114 | }
|
114 | 115 |
|
| 116 | + // a specific job class list can optionally be given as argument |
| 117 | + $jobClasses = array_slice($argv, $verbose ? 2 : 1); |
| 118 | + $jobClasses = empty($jobClasses) ? null : $jobClasses; |
| 119 | + |
115 | 120 | // Low-load hours
|
116 | 121 | $onlyTimeSensitive = false;
|
117 | 122 | $startHour = $config->getSystemValueInt('maintenance_window_start', 100);
|
118 |
| - if ($startHour <= 23) { |
| 123 | + if ($jobClasses === null && $startHour <= 23) { |
119 | 124 | $date = new \DateTime('now', new \DateTimeZone('UTC'));
|
120 | 125 | $currentHour = (int)$date->format('G');
|
121 | 126 | $endHour = $startHour + 4;
|
|
143 | 148 | $endTime = time() + 14 * 60;
|
144 | 149 |
|
145 | 150 | $executedJobs = [];
|
146 |
| - // a specific job class list can optionally be given as argument |
147 |
| - $jobClasses = array_slice($argv, $verbose ? 2 : 1); |
148 |
| - $jobClasses = empty($jobClasses) ? null : $jobClasses; |
149 | 151 |
|
150 | 152 | while ($job = $jobList->getNext($onlyTimeSensitive, $jobClasses)) {
|
151 | 153 | if (isset($executedJobs[$job->getId()])) {
|
|
159 | 161 | $timeBefore = time();
|
160 | 162 | $memoryBefore = memory_get_usage();
|
161 | 163 | $memoryPeakBefore = memory_get_peak_usage();
|
162 |
| - |
| 164 | + |
163 | 165 | if ($verbose) {
|
164 | 166 | echo 'Starting job ' . $jobDetails . PHP_EOL;
|
165 | 167 | }
|
|
0 commit comments