Dealing with cache expiration

This commit is contained in:
2026-06-04 16:26:54 -07:00
parent 0b1037e4e1
commit 6bd3c6e3ab
+17 -13
View File
@@ -106,7 +106,7 @@ def main():
json.dump(context_data, f, indent=4) json.dump(context_data, f, indent=4)
# --------------------------------------------------------- # ---------------------------------------------------------
# CACHE CREATION LOGIC # CACHE VALIDATION & CREATION LOGIC
# --------------------------------------------------------- # ---------------------------------------------------------
system_instruction = ( system_instruction = (
"You are a hybrid data extraction tool. If a specific format or file format output is requested " "You are a hybrid data extraction tool. If a specific format or file format output is requested "
@@ -128,6 +128,8 @@ def main():
if model_cache_info: if model_cache_info:
cached_files_set = set(model_cache_info.get("cached_file_ids", [])) cached_files_set = set(model_cache_info.get("cached_file_ids", []))
# Check 1: Have the files changed?
if current_files_set != cached_files_set: if current_files_set != cached_files_set:
print(f"File list changed. Destroying stale {args.model} cache to rebuild...") print(f"File list changed. Destroying stale {args.model} cache to rebuild...")
try: try:
@@ -135,6 +137,20 @@ def main():
except Exception as e: except Exception as e:
print(f"Warning: Could not delete stale cache. {e}", file=sys.stderr) print(f"Warning: Could not delete stale cache. {e}", file=sys.stderr)
rebuild_cache = True rebuild_cache = True
else:
# Check 2: Does the cache still exist on the server?
print(f"Verifying existing cache for {args.model}: {model_cache_info['cache_id']}...")
try:
client.caches.get(name=model_cache_info['cache_id'])
print("Cache verified. Extending TTL by 60 minutes...")
client.caches.update(
name=model_cache_info['cache_id'],
config=types.UpdateCachedContentConfig(ttl="3600s")
)
active_cache_id = model_cache_info['cache_id']
except Exception as e:
print(f"Cache expired or not found. Flagging for rebuild. ({e})")
rebuild_cache = True
else: else:
rebuild_cache = True rebuild_cache = True
@@ -168,18 +184,6 @@ def main():
else: else:
raise e raise e
elif not cache_too_small and model_cache_info:
active_cache_id = model_cache_info["cache_id"]
print(f"Loading existing cache for {args.model}: {active_cache_id}")
print("Extending cache TTL by 60 minutes...")
try:
client.caches.update(
name=active_cache_id,
config=types.UpdateCachedContentConfig(ttl="3600s")
)
except Exception as e:
print(f"Warning: Failed to update cache TTL. {e}")
# --------------------------------------------------------- # ---------------------------------------------------------
# GENERATION LOGIC (WITH HISTORY) # GENERATION LOGIC (WITH HISTORY)
# --------------------------------------------------------- # ---------------------------------------------------------