From 1738d6c0b98bfc72c41f9a0781596945f23ad5b2 Mon Sep 17 00:00:00 2001 From: Ray Wang <134452344+ray-oxd@users.noreply.github.com> Date: Fri, 1 Dec 2023 13:54:59 -0800 Subject: [PATCH] DBC22-1352: event and camera feeds now check timestamp before querying (#210) --- src/backend/apps/event/tasks.py | 8 +++++--- src/backend/apps/webcam/tasks.py | 9 ++++++--- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/backend/apps/event/tasks.py b/src/backend/apps/event/tasks.py index 19a2f3ff4..ab67673fc 100644 --- a/src/backend/apps/event/tasks.py +++ b/src/backend/apps/event/tasks.py @@ -20,9 +20,11 @@ def populate_event_from_data(event_data): except ObjectDoesNotExist: event = Event(id=event_id) - event_serializer = EventSerializer(event, data=event_data) - event_serializer.is_valid(raise_exception=True) - event_serializer.save() + # Only update data if official last updated timestamp is different + if event.last_updated != event_data['last_updated']: + event_serializer = EventSerializer(event, data=event_data) + event_serializer.is_valid(raise_exception=True) + event_serializer.save() def populate_all_event_data(): diff --git a/src/backend/apps/webcam/tasks.py b/src/backend/apps/webcam/tasks.py index cbc59084a..5dc210d87 100644 --- a/src/backend/apps/webcam/tasks.py +++ b/src/backend/apps/webcam/tasks.py @@ -36,9 +36,12 @@ def populate_all_webcam_data(): def update_single_webcam_data(webcam): webcam_data = FeedClient().get_webcam(webcam) - webcam_serializer = WebcamSerializer(webcam, data=webcam_data) - webcam_serializer.is_valid(raise_exception=True) - webcam_serializer.save() + + # Only update data if official last updated timestamp is different + if webcam.last_update_modified != webcam_data['last_update_modified']: + webcam_serializer = WebcamSerializer(webcam, data=webcam_data) + webcam_serializer.is_valid(raise_exception=True) + webcam_serializer.save() def update_all_webcam_data():