From 7733a036cba8f44db4d04587a72ceb7aa55d6402 Mon Sep 17 00:00:00 2001 From: Marcel Klehr Date: Thu, 23 Jan 2025 09:36:29 +0100 Subject: [PATCH] fix(taskprocessing): Cache result of getAvailableTaskTypes between requests Signed-off-by: Marcel Klehr --- lib/private/TaskProcessing/Manager.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/private/TaskProcessing/Manager.php b/lib/private/TaskProcessing/Manager.php index b546c1e75ad..c2c9ecfb713 100644 --- a/lib/private/TaskProcessing/Manager.php +++ b/lib/private/TaskProcessing/Manager.php @@ -31,6 +31,8 @@ use OCP\Files\Node; use OCP\Files\NotPermittedException; use OCP\Files\SimpleFS\ISimpleFile; use OCP\Http\Client\IClientService; +use OCP\ICache; +use OCP\ICacheFactory; use OCP\IConfig; use OCP\IL10N; use OCP\IServerContainer; @@ -77,6 +79,8 @@ class Manager implements IManager { private ?array $availableTaskTypes = null; private IAppData $appData; + private ICache $cache; + public function __construct( private IConfig $config, private Coordinator $coordinator, @@ -91,8 +95,10 @@ class Manager implements IManager { private IUserMountCache $userMountCache, private IClientService $clientService, private IAppManager $appManager, + ICacheFactory $cacheFactory, ) { $this->appData = $appDataFactory->get('core'); + $this->cache = $cacheFactory->createLocal('task_processing::'); } @@ -750,6 +756,7 @@ class Manager implements IManager { } $this->availableTaskTypes = $availableTaskTypes; + $this->cache->set('available_task_types', $this->availableTaskTypes, 60); } return $this->availableTaskTypes;