reuse the code from quart_common.web.env to import env_bool and env_int into all classes that are useing this functions
This commit is contained in:
+5
-23
@@ -1,4 +1,5 @@
|
||||
from quart_common.web.logger import build_logger, await_log
|
||||
from quart_common.web.env import env_bool, env_int
|
||||
from server.Files import read_file
|
||||
|
||||
from server.game_state_store import GameStateStoreBuilder
|
||||
@@ -64,7 +65,7 @@ class Server:
|
||||
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 self._env_bool('DASHBOARD_EVENTS_ENABLED', True))
|
||||
dashboard_events_enabled = (self.metrics_backend_normalized == 'redis' and env_bool('DASHBOARD_EVENTS_ENABLED', True))
|
||||
|
||||
self.metrics_collector = MetricsCollector(
|
||||
metrics_manager=MetricsStoreBuilder.build(
|
||||
@@ -80,8 +81,8 @@ class Server:
|
||||
game_last_seen_unix=self.game_last_seen_unix,
|
||||
game_move_counts=self.game_move_counts,
|
||||
)
|
||||
self.clear_worker_metrics_on_startup = self._env_bool('METRICS_CLEAR_WORKERS_ON_STARTUP', True)
|
||||
self.worker_metrics_startup_lock_ttl_sec = self._env_int('METRICS_STARTUP_CLEANUP_LOCK_TTL_SEC', 300)
|
||||
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
|
||||
|
||||
@@ -204,26 +205,7 @@ class Server:
|
||||
return str(version)
|
||||
|
||||
def _get_stale_game_timeout_sec(self) -> int:
|
||||
value = os.getenv('SNAKE_STUCK_GAME_TIMEOUT_SEC', '180')
|
||||
try:
|
||||
return max(30, int(value))
|
||||
except ValueError:
|
||||
return 180
|
||||
|
||||
def _env_bool(self, name:str, default:bool=False) -> bool:
|
||||
value = os.getenv(name)
|
||||
if value is None:
|
||||
return default
|
||||
return value.strip().lower() in {'1', 'true', 'yes', 'on'}
|
||||
|
||||
def _env_int(self, name:str, default:int) -> int:
|
||||
value = os.getenv(name)
|
||||
if value is None:
|
||||
return default
|
||||
try:
|
||||
return int(value)
|
||||
except ValueError:
|
||||
return default
|
||||
return max(30, env_int('SNAKE_STUCK_GAME_TIMEOUT_SEC', 180))
|
||||
|
||||
async def _create_game_board(self, game_state:dict) -> GameBoard:
|
||||
game_id = game_state['game']['id']
|
||||
|
||||
Reference in New Issue
Block a user