cleanup all worker stats when starting up servers
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import unittest
|
||||
from typing import Any, cast
|
||||
|
||||
from server.metrics.MetricsManager import MetricsManager
|
||||
|
||||
@@ -139,5 +140,26 @@ class TestMetricsManager(unittest.IsolatedAsyncioTestCase):
|
||||
self.assertEqual(merged["metrics_backend"], "redis")
|
||||
await manager.close()
|
||||
|
||||
async def test_acquire_startup_cleanup_lock_uses_store_for_redis_backend(self):
|
||||
class FakeStore:
|
||||
def __init__(self):
|
||||
self.calls = []
|
||||
|
||||
async def acquire_startup_cleanup_lock(self, lock_key:str, ttl_seconds:int=300):
|
||||
self.calls.append((lock_key, ttl_seconds))
|
||||
return True
|
||||
|
||||
async def close(self):
|
||||
return None
|
||||
|
||||
manager = MetricsManager(backend="redis", key_prefix="snake:metrics:worker")
|
||||
fake_store = FakeStore()
|
||||
manager.store = cast(Any, fake_store)
|
||||
|
||||
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__":
|
||||
unittest.main()
|
||||
|
||||
Reference in New Issue
Block a user