diff options
author | Julien Veyssier <julien-nc@posteo.net> | 2024-04-09 11:12:48 +0200 |
---|---|---|
committer | Julien Veyssier <julien-nc@posteo.net> | 2024-05-02 16:43:42 +0200 |
commit | d967151f520ba6c860ed9a727e3363ec04a6506d (patch) | |
tree | a630df77e8c5f84c9b7a627ff18cf05723099f4f /core/Command | |
parent | 1acc57b5c03b80ad5b6b5df7aff9df0fef83f14f (diff) | |
download | nextcloud-server-d967151f520ba6c860ed9a727e3363ec04a6506d.tar.gz nextcloud-server-d967151f520ba6c860ed9a727e3363ec04a6506d.zip |
fix(bg-jobs): review adjustments
Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
Diffstat (limited to 'core/Command')
-rw-r--r-- | core/Command/Background/JobBase.php | 8 | ||||
-rw-r--r-- | core/Command/Background/JobWorker.php | 25 |
2 files changed, 23 insertions, 10 deletions
diff --git a/core/Command/Background/JobBase.php b/core/Command/Background/JobBase.php index 94c9e1611ea..2de5d061378 100644 --- a/core/Command/Background/JobBase.php +++ b/core/Command/Background/JobBase.php @@ -32,16 +32,12 @@ use Psr\Log\LoggerInterface; use Symfony\Component\Console\Output\OutputInterface; abstract class JobBase extends \OC\Core\Command\Base { - protected IJobList $jobList; - protected LoggerInterface $logger; public function __construct( - IJobList $jobList, - LoggerInterface $logger + protected IJobList $jobList, + protected LoggerInterface $logger ) { parent::__construct(); - $this->jobList = $jobList; - $this->logger = $logger; } protected function printJobInfo(int $jobId, IJob $job, OutputInterface $output): void { diff --git a/core/Command/Background/JobWorker.php b/core/Command/Background/JobWorker.php index 8b7bb6b6fba..0cfe9db940b 100644 --- a/core/Command/Background/JobWorker.php +++ b/core/Command/Background/JobWorker.php @@ -26,13 +26,25 @@ declare(strict_types=1); namespace OC\Core\Command\Background; use OC\Core\Command\InterruptedException; +use OC\Files\SetupManager; +use OCP\BackgroundJob\IJobList; use OCP\ITempManager; +use Psr\Log\LoggerInterface; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Output\OutputInterface; class JobWorker extends JobBase { + + public function __construct( + protected IJobList $jobList, + protected LoggerInterface $logger, + private ITempManager $tempManager, + private SetupManager $setupManager, + ) { + parent::__construct($jobList, $logger); + } protected function configure(): void { parent::configure(); @@ -103,7 +115,11 @@ class JobWorker extends JobBase { $job = $this->jobList->getNext(false, $jobClasses); if (!$job) { if ($input->getOption('once') === true) { - $output->writeln('No job of classes ' . $jobClassesString . ' is currently queued', OutputInterface::VERBOSITY_VERBOSE); + if ($jobClassesString === null) { + $output->writeln('No job is currently queued', OutputInterface::VERBOSITY_VERBOSE); + } else { + $output->writeln('No job of classes ' . $jobClassesString . ' is currently queued', OutputInterface::VERBOSITY_VERBOSE); + } $output->writeln('Exiting...', OutputInterface::VERBOSITY_VERBOSE); break; } @@ -120,13 +136,14 @@ class JobWorker extends JobBase { $this->printJobInfo($job->getId(), $job, $output); } - $job->start($this->jobList); + /** @psalm-suppress DeprecatedMethod Calling execute until it is removed, then will switch to start */ + $job->execute($this->jobList); $output->writeln('Job ' . $job->getId() . ' has finished', OutputInterface::VERBOSITY_VERBOSE); // clean up after unclean jobs - \OC_Util::tearDownFS(); - \OC::$server->get(ITempManager::class)->clean(); + $this->setupManager->tearDown(); + $this->tempManager->clean(); $this->jobList->setLastJob($job); $this->jobList->unlockJob($job); |