update
This commit is contained in:
19
.planer/einheiten/backend__tft__matches__crawl.py.md
Normal file
19
.planer/einheiten/backend__tft__matches__crawl.py.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# Einheiten: backend/tft/matches/crawl.py
|
||||
stand: f41ac76b5789
|
||||
|
||||
## 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:
|
||||
Reference in New Issue
Block a user