Jikan-Retry bei 504 + Cache-Verfall fuer mittelgute Prescan-Treffer
Ampel / ampel (push) Failing after 39s

Jikan (Gratis-Dienst) wirft sporadisch 504 — ein Retry mit 2s Pause;
aktuell ist der Dienst ganz down, die Kette faellt sauber auf OMDb.
Prescan-Cache: 0.6-0.9 verfaellt nach 1 Tag, ab 0.9 nach 7 Tagen —
sonst wuerde ein frueher OMDb-Treffer bessere Quellen fuer immer blocken.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Hitonabi
2026-07-23 21:25:10 +02:00
parent 07be54e62a
commit 37711f87c1
2 changed files with 25 additions and 12 deletions
+19 -10
View File
@@ -40,16 +40,25 @@ class JikanClient:
if cached: if cached:
return cached return cached
try: # Jikan wirft sporadisch 504 (Gratis-Dienst) — ein Retry rettet die
response = self.session.get( # meisten Fälle, mehr wäre Belästigung.
f"{JIKAN_BASE_URL}/anime", eintraege = None
params={"q": title, "limit": 5, "sfw": "true"}, for versuch in range(2):
timeout=10, try:
) response = self.session.get(
response.raise_for_status() f"{JIKAN_BASE_URL}/anime",
eintraege = response.json().get("data") or [] params={"q": title, "limit": 5, "sfw": "true"},
except Exception as e: timeout=10,
print(f"Jikan API Error: {e}") )
response.raise_for_status()
eintraege = response.json().get("data") or []
break
except Exception as e:
print(f"Jikan API Error (Versuch {versuch + 1}): {e}")
if versuch == 0:
import time
time.sleep(2)
if eintraege is None:
return None return None
bester, bester_score = None, 0.0 bester, bester_score = None, 0.0
+6 -2
View File
@@ -487,6 +487,10 @@ class PreScan:
) )
# Nur ECHTE Treffer cachen: ein gecachtes "unknown" würde sonst auch # Nur ECHTE Treffer cachen: ein gecachtes "unknown" würde sonst auch
# nach Key-Eintrag/Fix ewig wieder serviert (Redis ist persistent). # nach Key-Eintrag/Fix ewig wieder serviert (Redis ist persistent).
if confidence >= 0.6: # Mittelgute Treffer verfallen nach einem Tag — falls eine bessere
cache_set(cache_key, result.to_dict()) # Quelle (Jikan-504 vorbei, TMDB-Key neu) später mehr weiß.
if confidence >= 0.9:
cache_set(cache_key, result.to_dict(), expire=7 * 86400)
elif confidence >= 0.6:
cache_set(cache_key, result.to_dict(), expire=86400)
return result return result