Parcourir la source

fix: Call execute until it is removed for Job class

Because if an application extends execute it will change behavior
 without warning otherwise.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
tags/v29.0.0beta2
Côme Chilliet il y a 2 mois
Parent
révision
75751d51de
Aucun compte lié à l'adresse e-mail de l'auteur
2 fichiers modifiés avec 6 ajouts et 3 suppressions
  1. 2
    1
      core/Command/Background/Job.php
  2. 4
    2
      cron.php

+ 2
- 1
core/Command/Background/Job.php Voir le fichier

@@ -84,7 +84,8 @@ class Job extends Command {
$output->writeln('<error>Something went wrong when trying to retrieve Job with ID ' . $jobId . ' from database</error>');
return 1;
}
$job->start($this->jobList);
/** Calling execute until it is removed, then will switch to start */
$job->execute($this->jobList);
$job = $this->jobList->getById($jobId);

if (($job === null) || ($lastRun !== $job->getLastRun())) {

+ 4
- 2
cron.php Voir le fichier

@@ -172,7 +172,8 @@ try {
$memoryBefore = memory_get_usage();
$memoryPeakBefore = memory_get_peak_usage();

$job->start($jobList);
/** Calling execute until it is removed, then will switch to start */
$job->execute($jobList);

$memoryAfter = memory_get_usage();
$memoryPeakAfter = memory_get_peak_usage();
@@ -207,7 +208,8 @@ try {
$job = $jobList->getNext();
if ($job != null) {
$logger->debug('WebCron call has selected job with ID ' . strval($job->getId()), ['app' => 'cron']);
$job->start($jobList);
/** Calling execute until it is removed, then will switch to start */
$job->execute($jobList);
$jobList->setLastJob($job);
}
OC_JSON::success();

Chargement…
Annuler
Enregistrer