diff --git a/src/c3nav/mapdata/models/update.py b/src/c3nav/mapdata/models/update.py index 7a262af3..3245a547 100644 --- a/src/c3nav/mapdata/models/update.py +++ b/src/c3nav/mapdata/models/update.py @@ -126,6 +126,10 @@ class MapUpdate(models.Model): from c3nav.mapdata.render.renderdata import LevelRenderData LevelRenderData.rebuild() + logger.info('Rebuilding router...') + from c3nav.routing.router import Router + Router.rebuild() + transaction.on_commit( lambda: cache.set('mapdata:last_processed_update', new_updates[-1].to_tuple, 900) ) diff --git a/src/c3nav/routing/router.py b/src/c3nav/routing/router.py index 81d52542..fba5f880 100644 --- a/src/c3nav/routing/router.py +++ b/src/c3nav/routing/router.py @@ -33,7 +33,7 @@ class Router: return max(area.get_altitudes(point)[0] for area in areas if area.geometry_prep.intersects(point)) @classmethod - def build(cls): + def rebuild(cls): levels_query = Level.objects.prefetch_related('buildings', 'spaces', 'altitudeareas', 'spaces__holes', 'spaces__columns', 'spaces__obstacles', 'spaces__lineobstacles',