From a28162ebbca2b4d1b68c6736c9275d43a37d0e09 Mon Sep 17 00:00:00 2001 From: Archento Date: Fri, 30 Aug 2024 17:30:04 +0200 Subject: [PATCH] refactor retention mechanism --- python/src/uagents/envelope.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/python/src/uagents/envelope.py b/python/src/uagents/envelope.py index 9aac838e..0bd12156 100644 --- a/python/src/uagents/envelope.py +++ b/python/src/uagents/envelope.py @@ -156,10 +156,8 @@ def add_entry(self, entry: EnvelopeHistoryEntry): def apply_retention_policy(self): """Remove entries older than 24 hours""" cutoff_time = time.time() - 86400 - self.envelopes = [e for e in self.envelopes if e.timestamp > cutoff_time] - - @field_serializer("envelopes", when_used="always") - def serialize_envelopes_in_order( - self, envelopes: List[EnvelopeHistoryEntry], _info - ): - return sorted(envelopes, key=lambda e: e.timestamp) + for e in self.envelopes: + if e.timestamp < cutoff_time: + self.envelopes.remove(e) + else: + break