From abed259129d21dbf09a4de79da547d48df79fef3 Mon Sep 17 00:00:00 2001 From: Daniel Dolezal Date: Tue, 7 Apr 2026 00:23:23 +0200 Subject: [PATCH] cleanup server extra variables that are only getting used into server.py --- server/Server.py | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/server/Server.py b/server/Server.py index d18cade..3141213 100644 --- a/server/Server.py +++ b/server/Server.py @@ -32,11 +32,12 @@ from server.services import ( class Server: def __init__(self, data_path:str, snake_type:str, storage_type:str, debug:bool=False, check_tls_security:bool=False, game_state_backend:str='memory', game_state_redis_url:str='redis://localhost:6379/0', game_state_ttl_sec:int=900, game_state_local_cache:bool=True, metrics_backend:str='memory', metrics_redis_url:str='redis://localhost:6379/0', metrics_ttl_sec:int|None=None, gameplay_db_enabled:bool=True, gameplay_db_path:str|None=None, gameplay_db_busy_timeout_ms:int=5000): self.debug = debug + self.data_path = data_path + self.snake_type = snake_type self.storage_type = storage_type self.config_file = os.path.join(data_path, 'data', 'snake-config.json') - self.data_path = data_path self.check_tls_security = check_tls_security self.store_game_state = False @@ -59,9 +60,6 @@ class Server: stale_game_timeout_sec=self.stale_game_timeout_sec, ) self.dashboard_ws_hub = DashboardWebSocketHub() - dashboard_event_origin = f'worker-{os.getpid()}-{int(time.time() * 1000)}' - dashboard_events_channel = os.getenv('DASHBOARD_EVENTS_CHANNEL', 'snake:dashboard:events') - dashboard_events_enabled = (self.metrics_backend_normalized == 'redis' and env_bool('DASHBOARD_EVENTS_ENABLED', True)) self.metrics_collector = MetricsCollector( metrics_manager=MetricsStoreBuilder.build( @@ -79,9 +77,6 @@ class Server: ) self.game_runtime.attach_metrics_collector(self.metrics_collector) - self.clear_worker_metrics_on_startup = env_bool('METRICS_CLEAR_WORKERS_ON_STARTUP', True) - self.worker_metrics_startup_lock_ttl_sec = env_int('METRICS_STARTUP_CLEANUP_LOCK_TTL_SEC', 300) - self.dashboard_running_game_stale_sec = 600 self._startup_worker_metrics_cleared = False self.logger = build_logger('Battlesnake', debug_env_var='DEBUG_SERVER') @@ -103,13 +98,13 @@ class Server: gameplay_database=self.gameplay_database, ws_hub=self.dashboard_ws_hub, logger=self.logger, - dashboard_running_game_stale_sec=self.dashboard_running_game_stale_sec, + dashboard_running_game_stale_sec=600, ) self.dashboard_events_service = DashboardEventsService( - enabled=dashboard_events_enabled, + enabled=(self.metrics_backend_normalized == 'redis' and env_bool('DASHBOARD_EVENTS_ENABLED', True)), redis_url=self.metrics_redis_url, - channel=dashboard_events_channel, - event_origin=dashboard_event_origin, + channel= os.getenv('DASHBOARD_EVENTS_CHANNEL', 'snake:dashboard:events'), + event_origin=f'worker-{os.getpid()}-{int(time.time() * 1000)}', shutdown_event=self.dashboard_ws_hub.shutdown_event, on_notice=self._on_dashboard_games_update_notice, logger=self.logger, @@ -132,8 +127,8 @@ class Server: if self._startup_worker_metrics_cleared: return self._startup_worker_metrics_cleared = True - if self.clear_worker_metrics_on_startup: - should_clear = await self.metrics_collector.should_clear_worker_metrics_on_startup(self.worker_metrics_startup_lock_ttl_sec) + if env_bool('METRICS_CLEAR_WORKERS_ON_STARTUP', True): + should_clear = await self.metrics_collector.should_clear_worker_metrics_on_startup(env_int('METRICS_STARTUP_CLEANUP_LOCK_TTL_SEC', 300)) if should_clear: await self.metrics_collector.clear_worker_metrics() await self.dashboard_events_service.start_listener()