From 4b58dba3aa08a3c387b82d6f077256640d362471 Mon Sep 17 00:00:00 2001 From: Jorrit Schaap <schaap@astron.nl> Date: Fri, 14 Jun 2019 12:51:22 +0000 Subject: [PATCH] SW-699: getOtdbIdsFoundOnDisk --- SAS/DataManagement/StorageQueryService/cache.py | 8 +++++--- SAS/DataManagement/StorageQueryService/rpc.py | 3 +++ SAS/DataManagement/StorageQueryService/service.py | 1 + 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/SAS/DataManagement/StorageQueryService/cache.py b/SAS/DataManagement/StorageQueryService/cache.py index 4b1747b8f35..687efb4b078 100644 --- a/SAS/DataManagement/StorageQueryService/cache.py +++ b/SAS/DataManagement/StorageQueryService/cache.py @@ -191,11 +191,13 @@ class CacheManager: if path in path_cache: path_cache[path]['needs_update'] = True - def getDiskUsagesForAllOtdbIds(self, force_update=False): - otdb_ids = [] + def getOtdbIdsFoundOnDisk(self): with self._cacheLock: otdb_id2path_cache = self._cache['otdb_id2path'] - otdb_ids = list(otdb_id2path_cache.keys()) + return sorted(list(otdb_id2path_cache.keys())) + + def getDiskUsagesForAllOtdbIds(self, force_update=False): + otdb_ids = self.getOtdbIdsFoundOnDisk() result = {} for otdb_id in otdb_ids: diff --git a/SAS/DataManagement/StorageQueryService/rpc.py b/SAS/DataManagement/StorageQueryService/rpc.py index 03d0afcee46..8cf9eb91c01 100644 --- a/SAS/DataManagement/StorageQueryService/rpc.py +++ b/SAS/DataManagement/StorageQueryService/rpc.py @@ -52,6 +52,9 @@ class StorageQueryRPC(RPCClientContextManagerMixin): def getDiskUsagesForAllOtdbIds(self, force_update=False): return self._rpc_client.execute('GetDiskUsagesForAllOtdbIds', force_update=force_update) + def getOtdbIdsFoundOnDisk(self): + return self._rpc_client.execute('GetOtdbIdsFoundOnDisk') + def main(): from pprint import pprint import sys diff --git a/SAS/DataManagement/StorageQueryService/service.py b/SAS/DataManagement/StorageQueryService/service.py index b318191be7b..04faa44478a 100644 --- a/SAS/DataManagement/StorageQueryService/service.py +++ b/SAS/DataManagement/StorageQueryService/service.py @@ -34,6 +34,7 @@ class StorageQueryHandler(ServiceMessageHandler): self.register_service_method('GetDiskUsageForProjectsDirAndSubDirectories', self.cache.getDiskUsageForProjectsDirAndSubDirectories) self.register_service_method('GetDiskUsageForPath', self.cache.getDiskUsageForPath) self.register_service_method('GetDiskUsagesForAllOtdbIds', self.cache.getDiskUsagesForAllOtdbIds) + self.register_service_method('GetOtdbIdsFoundOnDisk', self.cache.getOtdbIdsFoundOnDisk) def createService(exchange=DEFAULT_BUSNAME, broker=DEFAULT_BROKER, mountpoint=CEP4_DATA_MOUNTPOINT, cache_manager=None): -- GitLab