diff --git a/odoo/modules/registry.py b/odoo/modules/registry.py index 02d1cd6e94a..9294cbbefdf 100644 --- a/odoo/modules/registry.py +++ b/odoo/modules/registry.py @@ -151,14 +151,13 @@ class Registry(Mapping): """ Delete the registry linked to a given database. """ with cls._lock: if db_name in cls.registries: - cls.registries.pop(db_name) + del cls.registries[db_name] @classmethod def delete_all(cls): """ Delete all the registries. """ with cls._lock: - for db_name in list(cls.registries.keys()): - cls.delete(db_name) + cls.registries.clear() # # Mapping abstract methods implementation diff --git a/odoo/service/server.py b/odoo/service/server.py index cffb6cd4373..0d22862818d 100644 --- a/odoo/service/server.py +++ b/odoo/service/server.py @@ -403,7 +403,7 @@ class ThreadedServer(CommonServer): time.sleep(SLEEP_INTERVAL + number) # Steve Reich timing style registries = odoo.modules.registry.Registry.registries _logger.debug('cron%d polling for jobs', number) - for db_name, registry in registries.items(): + for db_name, registry in registries.d.items(): if registry.ready: thread = threading.currentThread() thread.start_time = time.time() diff --git a/odoo/tools/cache.py b/odoo/tools/cache.py index 2d50b51aa94..dce88781824 100644 --- a/odoo/tools/cache.py +++ b/odoo/tools/cache.py @@ -204,7 +204,7 @@ def log_ormcache_stats(sig=None, frame=None): me = threading.currentThread() me_dbname = getattr(me, 'dbname', 'n/a') - for dbname, reg in sorted(Registry.registries.items()): + for dbname, reg in sorted(Registry.registries.d.items()): # set logger prefix to dbname me.dbname = dbname entries = defaultdict(int)