diff --git a/orchestrator/activities/slot_manager.py b/orchestrator/activities/slot_manager.py index 38113ea..bbb9ea6 100644 --- a/orchestrator/activities/slot_manager.py +++ b/orchestrator/activities/slot_manager.py @@ -349,11 +349,15 @@ class SlotManager(SientiaMonitoring): # The Redis repository's plain ``json.dumps`` cannot serialize a # ``Timestamp``/``datetime`` directly, so store it as a string - # formatted per ``DATETIME_FORMAT_MS_WITH_TZ`` instead. - last_data_timestamp = last_data_timestamp.strftime(DATETIME_FORMAT_MS_WITH_TZ) + # formatted per ``DATETIME_FORMAT_MS_WITH_TZ`` instead. Kept as a + # separate variable (rather than reassigning ``last_data_timestamp``) + # since it's a different type — mypy infers a local's type from its + # first assignment and flags a same-name reassignment to an + # incompatible type as an error. + last_data_timestamp_str = last_data_timestamp.strftime(DATETIME_FORMAT_MS_WITH_TZ) try: - self.redis_repository.set(key, last_data_timestamp, ttl=60 * 60 * 5) + self.redis_repository.set(key, last_data_timestamp_str, ttl=60 * 60 * 5) except Exception as e: self.send_notification( metadata=metadata, @@ -365,7 +369,7 @@ class SlotManager(SientiaMonitoring): ) raise e - return last_data_timestamp + return last_data_timestamp_str @activity.defn(name='filter_notification_alerts') def filter_notification_alerts(self, input_data: dict[str, Any]) -> dict[str, Any]: