24 lines
976 B
Python
24 lines
976 B
Python
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, [] |