aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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")