Files
tft/.planer/einheiten/backend__tft__matches__crawl.py.md
2026-07-24 11:24:24 +02:00

1.2 KiB

Einheiten: backend/tft/matches/crawl.py

stand: f41ac76b57

backend/tft/matches/crawl.py::crawl

beschreibung: Crawlt gewertete TFT-Matches von Challengern/GM-Spielern und persistiert sie gefiltert nach Queue und Set-Nummer in der SQLite-Datenbank. input: set_number (Ziel-Set-Nummer) und optionales limit (Maximalanzahl neuer Matches) output: Anzahl der neu hinzugefügten Matches (int) entscheidungen:

  • Bereits vorhandene Match-IDs werden vorab in ein Set geladen, um Duplikate frühzeitig zu überspringen. beleg: "seen = {row[0] for row in conn.execute("SELECT match_id FROM matches")}"
  • Nur Matches der gewerteten Queue 1100 werden übernommen, andere werden verworfen. beleg: "if info.get("queue_id", info.get("queueId")) != RANKED_QUEUE:"
  • Nur Matches des angeforderten tft_set_number werden persistiert, Fremd-Sets herausgefiltert. beleg: "if info["tft_set_number"] != set_number:"
  • Nach jedem neu gespeicherten Match wird sofort committet, um Fortschritt nicht zu verlieren. beleg: "conn.commit()"
  • Ein täglicher crawl_log-Eintrag aktualisiert die Anzahl hinzugefügter Matches inkrementell. beleg: "ON CONFLICT(day) DO UPDATE SET matches_added = matches_added + ?" kanten: