import requests from overpass import fetch_overpass # --------------------------------------------------------------------------- # Worker-Funktion (muss auf Modul-Ebene stehen — Pickle-Anforderung!) # --------------------------------------------------------------------------- def fetch_fragment(args: tuple) -> tuple[str, list]: """ Führt einen einzelnen Overpass-Request aus. Gibt (fragment_name, elements) zurück — oder (fragment_name, []) bei Fehler. Wird von Pool.map() in einem separaten Prozess ausgeführt. Logging funktioniert hier nicht zuverlässig → print() als Fallback. """ name, bbox, query = args try: result = fetch_overpass(overpass_query=query, bbox=bbox) elements = result.get("elements", []) print(f"[{name}] {len(elements)} Elemente gefunden") return name, elements except (RuntimeError, requests.Timeout) as e: print(f"[{name}] Fehler: {e}") return name, []