From ef73932ea3bb6c69ede2896a24f0ed5f4c978e0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laura=20Kl=C3=BCnder?= Date: Wed, 15 Nov 2017 23:01:43 +0100 Subject: [PATCH] mapupdate: set cache and queue process task using transaction.on_commit --- src/c3nav/mapdata/models/update.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/c3nav/mapdata/models/update.py b/src/c3nav/mapdata/models/update.py index 8e6b6ac0..42f77ec3 100644 --- a/src/c3nav/mapdata/models/update.py +++ b/src/c3nav/mapdata/models/update.py @@ -106,7 +106,9 @@ class MapUpdate(models.Model): from c3nav.mapdata.render.data import LevelRenderData LevelRenderData.rebuild() - cache.set('mapdata:last_processed_update', new_updates[-1].to_tuple, 900) + transaction.on_commit( + lambda: cache.set('mapdata:last_processed_update', new_updates[-1].to_tuple, 900) + ) return new_updates @@ -120,7 +122,11 @@ class MapUpdate(models.Model): super().save(**kwargs) - cache.set('mapdata:last_update', self.to_tuple, 900) + transaction.on_commit( + lambda: cache.set('mapdata:last_update', self.to_tuple, 900) + ) if new and settings.HAS_CELERY: - process_map_updates.delay() + transaction.on_commit( + lambda: process_map_updates.delay() + )