slowly im bored

This commit is contained in:
Thomas Ciesla
2026-01-09 16:28:12 +01:00
parent 64905cb844
commit 3d9c2cbaca

View File

@@ -1532,7 +1532,16 @@ def get_shop_stats_tracker(shop: str, window_seconds: int = 300) -> LiveStatsTra
tracker = LiveStatsTracker(shop, window_seconds)
_load_initial_request_details(tracker, shop)
_shop_stats_trackers[shop] = tracker
return _shop_stats_trackers[shop]
# Falls ip_request_details leer sind, nochmal laden (z.B. nach Reset oder bei erstem WHOIS)
tracker = _shop_stats_trackers[shop]
if not tracker.ip_request_details:
logger.info(f"Tracker für {shop} hat keine ip_request_details - lade aus Log")
_load_initial_request_details(tracker, shop)
else:
logger.debug(f"Tracker für {shop} hat {len(tracker.ip_request_details)} IPs in ip_request_details")
return tracker
def _load_initial_request_details(tracker: LiveStatsTracker, shop: str, max_lines: int = 5000):
@@ -1567,7 +1576,9 @@ def _load_initial_request_details(tracker: LiveStatsTracker, shop: str, max_line
# Nur die letzten max_lines Zeilen verarbeiten
lines = lines[-max_lines:]
logger.info(f"_load_initial_request_details: {len(lines)} Zeilen gelesen aus {log_file}")
parsed_count = 0
for line in lines:
try:
# IP extrahieren
@@ -1632,11 +1643,14 @@ def _load_initial_request_details(tracker: LiveStatsTracker, shop: str, max_line
if len(tracker.ip_request_details[ip]) > tracker.max_request_details:
tracker.ip_request_details[ip] = tracker.ip_request_details[ip][-tracker.max_request_details:]
except Exception:
parsed_count += 1
except Exception as e:
logger.debug(f"Fehler beim Parsen von Zeile: {e}")
continue
total_requests = sum(len(reqs) for reqs in tracker.ip_request_details.values())
logger.info(f"Initiale Request-Details für {shop} geladen: {len(tracker.ip_request_details)} IPs, {total_requests} Requests total")
logger.info(f"Initiale Request-Details für {shop} geladen: {len(tracker.ip_request_details)} IPs, {total_requests} Requests total (parsed {parsed_count} von {len(lines)} Zeilen)")
except Exception as e:
logger.warning(f"Fehler beim Laden der initialen Request-Details für {shop}: {e}")