fix: refill from expanded candidate history
This commit is contained in:
@@ -321,7 +321,7 @@ class ModelHubClientPool:
|
||||
identity_hash = hashlib.sha256(identity.encode("utf-8")).hexdigest()
|
||||
self._selection_cursor = int(identity_hash[:12], 16) % len(clients)
|
||||
self._verify_cache: dict[str, tuple[float, dict[str, Any]]] = {}
|
||||
self._verify_cache_ttl = max(1.0, float(os.getenv("MODELHUB_AGENT_VERIFY_CACHE_TTL_SECONDS", "30")))
|
||||
self._verify_cache_ttl = max(1.0, float(os.getenv("MODELHUB_AGENT_VERIFY_CACHE_TTL_SECONDS", "900")))
|
||||
# Single reader client to avoid fanout on read operations
|
||||
self._reader = clients[0]
|
||||
|
||||
@@ -539,12 +539,15 @@ class ModelHubClientPool:
|
||||
self._verify_cache[model_id] = (time.monotonic(), payload)
|
||||
|
||||
def begin_cycle(self) -> None:
|
||||
"""Drop model verification cache entries from the previous scan cycle."""
|
||||
"""Keep recent verification results across cycles and prune expired entries."""
|
||||
with self._state_lock:
|
||||
self._verify_cache.clear()
|
||||
now = time.monotonic()
|
||||
for model_id, (cached_at, _payload) in list(self._verify_cache.items()):
|
||||
if now - cached_at >= self._verify_cache_ttl:
|
||||
self._verify_cache.pop(model_id, None)
|
||||
|
||||
def search_by_model_id(self, model_id: str) -> dict[str, Any]:
|
||||
# Check cache first (per-cycle cache to avoid repeated API calls for the same model)
|
||||
# Reuse recent model verification results across short poll cycles.
|
||||
with self._state_lock:
|
||||
cached = self._read_from_cache(model_id)
|
||||
if cached is not None:
|
||||
|
||||
Reference in New Issue
Block a user