ttl_policy.py (691B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\caching\client\policy\ttl_policy.py 2 from caching.client.cache_entry_state import CacheEntryState 3 from caching.client.policy.base_policy import BaseCachePolicy 4 from datetime import datetime, timedelta 5 6 class TtlCachePolicy(BaseCachePolicy): 7 8 def __init__(self, ttl_seconds): 9 self.ttl_seconds = ttl_seconds 10 11 def evaluate(self, cache_entry): 12 if not cache_entry.stored_at: 13 return CacheEntryState.MISSING 14 if cache_entry.stored_at + timedelta(seconds=self.ttl_seconds) < datetime.utcnow(): 15 return CacheEntryState.STALE 16 return CacheEntryState.FRESH