22 lines
668 B
Python
22 lines
668 B
Python
from server.metrics.backends.Template import StoreTemplate
|
|
|
|
class MemoryMetricsStore(StoreTemplate):
|
|
def __init__(self, **kwargs):
|
|
super().__init__(backend="memory", **kwargs)
|
|
self._snapshots:dict[str, dict] = {}
|
|
|
|
async def publish(self, worker_id:str, snapshot:dict) -> None:
|
|
self._snapshots[worker_id] = dict(snapshot)
|
|
|
|
async def load_all(self) -> list[dict]:
|
|
return [dict(value) for value in self._snapshots.values()]
|
|
|
|
async def clear_all(self) -> None:
|
|
self._snapshots.clear()
|
|
|
|
async def _acquire_startup_cleanup_lock(self, lock_key:str, ttl_seconds:int=300) -> bool:
|
|
return True
|
|
|
|
async def close(self) -> None:
|
|
return None
|