mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2026-03-07 02:07:32 +08:00
fix: enable external caching for subcache (expanded) nodes
Subcache nodes (from node expansion) now participate in external provider store/lookup. Previously skipped to avoid duplicates, but the cost of missing partial-expansion cache hits outweighs redundant stores — especially with looping behavior on the horizon. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
71fd8f7e20
commit
7c3c427639
@ -156,7 +156,6 @@ class BasicCache:
|
|||||||
self.cache = {}
|
self.cache = {}
|
||||||
self.subcaches = {}
|
self.subcaches = {}
|
||||||
|
|
||||||
self._is_subcache = False
|
|
||||||
self._current_prompt_id = ''
|
self._current_prompt_id = ''
|
||||||
|
|
||||||
async def set_prompt(self, dynprompt, node_ids, is_changed_cache):
|
async def set_prompt(self, dynprompt, node_ids, is_changed_cache):
|
||||||
@ -241,8 +240,6 @@ class BasicCache:
|
|||||||
CacheValue, _contains_self_unequal, _logger
|
CacheValue, _contains_self_unequal, _logger
|
||||||
)
|
)
|
||||||
|
|
||||||
if self._is_subcache:
|
|
||||||
return
|
|
||||||
if not _has_cache_providers():
|
if not _has_cache_providers():
|
||||||
return
|
return
|
||||||
if not self._is_external_cacheable_value(value):
|
if not self._is_external_cacheable_value(value):
|
||||||
@ -276,8 +273,6 @@ class BasicCache:
|
|||||||
CacheValue, _contains_self_unequal, _logger
|
CacheValue, _contains_self_unequal, _logger
|
||||||
)
|
)
|
||||||
|
|
||||||
if self._is_subcache:
|
|
||||||
return None
|
|
||||||
if not _has_cache_providers():
|
if not _has_cache_providers():
|
||||||
return None
|
return None
|
||||||
if _contains_self_unequal(cache_key):
|
if _contains_self_unequal(cache_key):
|
||||||
@ -338,7 +333,6 @@ class BasicCache:
|
|||||||
subcache = self.subcaches.get(subcache_key, None)
|
subcache = self.subcaches.get(subcache_key, None)
|
||||||
if subcache is None:
|
if subcache is None:
|
||||||
subcache = BasicCache(self.key_class)
|
subcache = BasicCache(self.key_class)
|
||||||
subcache._is_subcache = True
|
|
||||||
subcache._current_prompt_id = self._current_prompt_id
|
subcache._current_prompt_id = self._current_prompt_id
|
||||||
self.subcaches[subcache_key] = subcache
|
self.subcaches[subcache_key] = subcache
|
||||||
await subcache.set_prompt(self.dynprompt, children_ids, self.is_changed_cache)
|
await subcache.set_prompt(self.dynprompt, children_ids, self.is_changed_cache)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user