summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorLouis Chemineau <louis@chmn.me>2023-12-13 10:40:20 +0100
committerLouis Chemineau <louis@chmn.me>2023-12-13 10:51:15 +0100
commit8eb58d03a970c687e62daaa71b4822a45d4aad2b (patch)
tree0063a58130b29c900e76befa92126365bed9bdc5 /core
parent6077f26d9c4eca4812983fd94b061dd6ae6c9f7e (diff)
downloadnextcloud-server-8eb58d03a970c687e62daaa71b4822a45d4aad2b.tar.gz
nextcloud-server-8eb58d03a970c687e62daaa71b4822a45d4aad2b.zip
Wrap metadata generation in try/catch
Signed-off-by: Louis Chemineau <louis@chmn.me>
Diffstat (limited to 'core')
-rw-r--r--core/BackgroundJobs/GenerateMetadataJob.php14
1 files changed, 10 insertions, 4 deletions
diff --git a/core/BackgroundJobs/GenerateMetadataJob.php b/core/BackgroundJobs/GenerateMetadataJob.php
index f0dfdb8de22..393545b097d 100644
--- a/core/BackgroundJobs/GenerateMetadataJob.php
+++ b/core/BackgroundJobs/GenerateMetadataJob.php
@@ -33,6 +33,7 @@ use OCP\Files\IRootFolder;
use OCP\FilesMetadata\IFilesMetadataManager;
use OCP\IConfig;
use OCP\IUserManager;
+use Psr\Log\LoggerInterface;
class GenerateMetadataJob extends TimedJob {
public function __construct(
@@ -42,6 +43,7 @@ class GenerateMetadataJob extends TimedJob {
private IUserManager $userManager,
private IFilesMetadataManager $filesMetadataManager,
private IJobList $jobList,
+ private LoggerInterface $logger,
) {
parent::__construct($time);
@@ -102,10 +104,14 @@ class GenerateMetadataJob extends TimedJob {
continue;
}
- $this->filesMetadataManager->refreshMetadata(
- $node,
- IFilesMetadataManager::PROCESS_LIVE | IFilesMetadataManager::PROCESS_BACKGROUND
- );
+ try {
+ $this->filesMetadataManager->refreshMetadata(
+ $node,
+ IFilesMetadataManager::PROCESS_LIVE | IFilesMetadataManager::PROCESS_BACKGROUND
+ );
+ } catch (\Throwable $ex) {
+ $this->logger->warning("Error while generating metadata for fileid ".$node->getId(), ['exception' => $ex]);
+ }
}
}
}