From 2b8f0396e32ecf59694c3a0e4134197a25ce9dd7 Mon Sep 17 00:00:00 2001 From: Daniel Dolezal Date: Sat, 4 Apr 2026 22:26:19 +0200 Subject: [PATCH] rename Test file and add init file for metric backend to import all at once --- server/metrics/__init__.py | 5 +---- server/metrics/backends/Template.py | 10 ++++++++-- server/metrics/backends/__init__.py | 3 +++ tests/{test_MetricsManager.py => test_MetricsStore.py} | 2 ++ 4 files changed, 14 insertions(+), 6 deletions(-) create mode 100644 server/metrics/backends/__init__.py rename tests/{test_MetricsManager.py => test_MetricsStore.py} (99%) diff --git a/server/metrics/__init__.py b/server/metrics/__init__.py index d203de9..d652982 100644 --- a/server/metrics/__init__.py +++ b/server/metrics/__init__.py @@ -1,7 +1,4 @@ -from .backends.Template import StoreTemplate - -from .backends.Memory import MemoryMetricsStore -from .backends.Redis import RedisMetricsStore +from .backends import StoreTemplate, MemoryMetricsStore, RedisMetricsStore from .MetricsCollector import MetricsCollector diff --git a/server/metrics/backends/Template.py b/server/metrics/backends/Template.py index aa158e3..4d7123d 100644 --- a/server/metrics/backends/Template.py +++ b/server/metrics/backends/Template.py @@ -1,13 +1,19 @@ from typing import Any, Awaitable, cast -import inspect, os +import inspect, time, os class StoreTemplate: def __init__(self, backend:str="memory", key_prefix:str="snake:metrics:worker", worker_id:str|None=None, **kwargs): self.backend = (backend or "memory").strip().lower() self.key_prefix = key_prefix - self.worker_id = worker_id or f"{os.getpid()}" + self.worker_id = worker_id or f"{os.getpid()}-{int(time.time() * 1000)}" self.store = self + async def publish(self, worker_id:str, snapshot:dict) -> None: + raise NotImplementedError + + async def load_all(self) -> list[dict]: + raise NotImplementedError + async def publish_only(self, snapshot:dict) -> None: await self.store.publish(self.worker_id, snapshot) diff --git a/server/metrics/backends/__init__.py b/server/metrics/backends/__init__.py new file mode 100644 index 0000000..db09735 --- /dev/null +++ b/server/metrics/backends/__init__.py @@ -0,0 +1,3 @@ +from .Template import StoreTemplate +from .Memory import MemoryMetricsStore +from .Redis import RedisMetricsStore diff --git a/tests/test_MetricsManager.py b/tests/test_MetricsStore.py similarity index 99% rename from tests/test_MetricsManager.py rename to tests/test_MetricsStore.py index 5080e3f..91650a3 100644 --- a/tests/test_MetricsManager.py +++ b/tests/test_MetricsStore.py @@ -1,4 +1,5 @@ import unittest + from typing import Any, cast from server.metrics import ( @@ -162,6 +163,7 @@ class TestMetricsStoreTemplate(unittest.IsolatedAsyncioTestCase): allowed = await manager.acquire_startup_cleanup_lock(180) self.assertTrue(allowed) self.assertEqual(fake_store.calls, [("snake:metrics:worker:startup_cleanup_lock", 180)]) + await manager.close() if __name__ == "__main__":