NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

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