aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Schadt <kingdread@gmx.de>2026-10-08 10:03:59 +0200
committerDaniel Schadt <kingdread@gmx.de>2026-10-08 10:03:59 +0200
commitb0998779042d7fa9f8145c1e6775caa35340be7f (patch)
tree352bc4e39b7914ac86b64f9b250b57046883b059
parent4508653f3e802928deebe55b0f84ac961c6ac86a (diff)
downloadfietsboek-b0998779042d7fa9f8145c1e6775caa35340be7f.tar.gz
fietsboek-b0998779042d7fa9f8145c1e6775caa35340be7f.tar.bz2
fietsboek-b0998779042d7fa9f8145c1e6775caa35340be7f.zip
catch sql exception in background climb extraction
-rw-r--r--fietsboek/actions.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/fietsboek/actions.py b/fietsboek/actions.py
index c467cc2..a50884f 100644
--- a/fietsboek/actions.py
+++ b/fietsboek/actions.py
@@ -14,6 +14,7 @@ import re
from threading import Thread
from typing import Optional
+import sqlalchemy.exc
from pyramid.i18n import TranslationString as _
from pyramid.request import Request
from sqlalchemy import select
@@ -379,7 +380,10 @@ def extract_climbs_background(request: Request, track_id: int):
track = session.get(models.Track, track_id)
with session:
extract_climbs(session, track, loader, layer, request.overpass_api)
- session.commit()
+ try:
+ session.commit()
+ except sqlalchemy.exc.IntegrityError:
+ LOGGER.info("SQL IntegrityError -- did we lose the track while extracting climbs?")
request.redis.delete(f"bg-tasks:track-{track_id}")
LOGGER.debug("Climb extraction done")