From 3235c8652a4ada85d6924262425b38cf524891f7 Mon Sep 17 00:00:00 2001 From: Bai Date: Thu, 8 Jan 2026 10:39:31 +0800 Subject: [PATCH] refactor: 5s delay run --- apps/assets/signal_handlers/node_assets_mapping.py | 2 +- apps/assets/tree/node_tree.py | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/apps/assets/signal_handlers/node_assets_mapping.py b/apps/assets/signal_handlers/node_assets_mapping.py index 9626c5359..4c3ac14a1 100644 --- a/apps/assets/signal_handlers/node_assets_mapping.py +++ b/apps/assets/signal_handlers/node_assets_mapping.py @@ -11,7 +11,7 @@ from common.decorators import merge_delay_run logger = get_logger(__name__) -@merge_delay_run(ttl=30) +@merge_delay_run(ttl=5) def expire_node_asset_relation_cache(ignore_args=()): from assets.tree.node_tree import relation logger.debug('Expire Node-Asset relation cache') diff --git a/apps/assets/tree/node_tree.py b/apps/assets/tree/node_tree.py index 23be0e50b..9a6945384 100644 --- a/apps/assets/tree/node_tree.py +++ b/apps/assets/tree/node_tree.py @@ -79,10 +79,11 @@ class AssetNodeRelation: self.refresh_mapper_from_db_to_cache() def refresh_mapper_from_db_to_cache(self): - mapper = self.load_mapper_from_db() - self.set_cache_mapper(mapper) + # 优先设置 pid,防止并发时多次加载 DB self.set_cache_pid(self.pid) self._current_mapper_pid = self.pid + mapper = self.load_mapper_from_db() + self.set_cache_mapper(mapper) self._nid_aids_mapper = mapper def set_cache_pid(self, pid):