ich habe eine Webanwendung mit Flask erstellt, dort können registrierte User Zimmer reinstellen. Andere User können dann nach diesen Zimmern suchen.
Beim Reinstellen der Zimmer benutze ich GeoPy um aus den Adressdaten die lat und lng Werte zu bekommen z.b.:
Code: Alles auswählen
try:
if form.hausnr.data:
location_zimmer = geolocator.geocode(form.land.data + " " + form.stadt.data + " " + form.strasse.data + " " + form.hausnr.data, timeout=2)
else:
location_zimmer = geolocator.geocode(form.land.data + " " + form.stadt.data + " " + form.strasse.data, timeout=2)
except GeocoderTimedOut as e:
print "Geocoder timeout beim Einstellen", e
Jedoch kommt ab und zu der GeoCoderTimeout error. Ich habe herausgefunden, dass geopy wohl sehr viele Dienste durchgeht und deswegen kann es vorkommen, dass es einen timeout gibt. Mein Programm kriegt aber einen "InternalServerError 500" wenn das passiert.
Eine Lösung wäre es vill. den timeout hochzustellen und eine custom Fehler Seite einzubauen nach dem Motto "etwas ist schief gelaufen, probiere es in 5 min. nochmal".
Der Timeout kommt im Schnitt alle 10 Zimmer 1 mal.
Schlimmer ist es wenn ich die map marker lade und ich irgendwann über 100 zu ladene Zimmermarker habe und jeder 10te wird nicht angezeigt auf der Karte.
Kennt ihr eine Alternative? Kann auch etwas sein, was Geld kostet.
Wie immer vielen Dank!
EDIT:
Leute ich habe jetzt mal in eine etwas andere Richtung recherchiert, ich brauche eine eigene Installation davon auf meinen Server. Für meine Anwendung reicht GeoPy einfach nicht aus, die Daten kommen von OpenStreetMap und habe starke Limits.