diff options
| -rw-r--r-- | fietsboek/templates/details.jinja2 | 7 | ||||
| -rw-r--r-- | fietsboek/views/detail.py | 3 | ||||
| -rw-r--r-- | fietsboek/views/upload.py | 2 |
3 files changed, 12 insertions, 0 deletions
diff --git a/fietsboek/templates/details.jinja2 b/fietsboek/templates/details.jinja2 index fb2f9d8..0bbcd44 100644 --- a/fietsboek/templates/details.jinja2 +++ b/fietsboek/templates/details.jinja2 @@ -99,6 +99,13 @@ </p> {% endif %} + {% if bgtasks_in_progress %} + <div class="alert alert-warning" role="alert"> + <i class="bi bi-exclamation-diamond-fill"></i> + {{ _("page.details.background_tasks_in_progress") }} + </div> + {% endif %} + {% if 'secret' in request.GET %} {% set gpx_url = request.route_path('gpx', track_id=track.id, _query=[('secret', request.GET['secret'])]) %} {% else %} diff --git a/fietsboek/views/detail.py b/fietsboek/views/detail.py index 8ce6718..9454b94 100644 --- a/fietsboek/views/detail.py +++ b/fietsboek/views/detail.py @@ -104,6 +104,8 @@ def details(request): # Strip off the sort key again images = [(image[1], image[2]) for image in images] + bgtasks_in_progress = request.redis.get(f"bg-tasks:track-{track.id}") is not None + with_meta = TrackWithMetadata(track) return { "track": with_meta, @@ -114,6 +116,7 @@ def details(request): "description": description, "og_description": og_description, "images": images, + "bgtasks_in_progress": bgtasks_in_progress, } diff --git a/fietsboek/views/upload.py b/fietsboek/views/upload.py index 278eee2..610847c 100644 --- a/fietsboek/views/upload.py +++ b/fietsboek/views/upload.py @@ -188,11 +188,13 @@ def do_finish_upload(request): layer = request.config.public_tile_layers()[0] def _extract_climbs(): LOGGER.debug("Starting climb extraction for track %d", track_id) + request.redis.set(f"bg-tasks:track-{track_id}", 1) session = request.registry["dbsession_factory"]() track = session.get(Track, track_id) with session: actions.extract_climbs(session, track, loader, layer) session.commit() + request.redis.delete(f"bg-tasks:track-{track_id}") LOGGER.debug("Climb extraction done") Thread(name=f"upload-{track_id}", target=_extract_climbs).start() |
