allow to send metrics to memory or redis
Build and Push Docker Container / build-and-push (push) Successful in 52s
Build and Push Docker Container / build-and-push (push) Successful in 52s
This commit is contained in:
+21
-3
@@ -17,16 +17,34 @@ def env_bool(name:str, default:bool=False) -> bool:
|
||||
|
||||
def build_server_from_env(default_snake_type:str) -> Server:
|
||||
data_path = str(Path(__file__).resolve().parent.parent)
|
||||
game_state_backend = os.environ.get('GAME_STATE_BACKEND', 'memory')
|
||||
game_state_redis_url = os.environ.get('GAME_STATE_REDIS_URL', 'redis://localhost:6379/0')
|
||||
game_state_ttl_sec = int(os.environ.get('GAME_STATE_TTL_SEC', '900'))
|
||||
|
||||
metrics_backend = os.environ.get('METRICS_BACKEND', None)
|
||||
if metrics_backend is None:
|
||||
metrics_backend = ('redis' if game_state_backend.strip().lower() == 'redis' else 'memory')
|
||||
|
||||
metrics_redis_url = os.environ.get('METRICS_REDIS_URL', game_state_redis_url)
|
||||
metrics_ttl_sec_raw = os.environ.get('METRICS_TTL_SEC', None)
|
||||
if metrics_ttl_sec_raw is None:
|
||||
metrics_ttl_sec = (game_state_ttl_sec if metrics_backend.strip().lower() == 'redis' else None)
|
||||
else:
|
||||
metrics_ttl_sec = int(metrics_ttl_sec_raw)
|
||||
|
||||
server = Server(
|
||||
data_path=data_path,
|
||||
snake_type=os.environ.get('SNAKE', default_snake_type),
|
||||
storage_type=os.environ.get('STORAGE', 'LocalStorage'),
|
||||
debug=env_bool('DEBUG_SERVER'),
|
||||
check_tls_security=False,
|
||||
game_state_backend=os.environ.get('GAME_STATE_BACKEND', 'memory'),
|
||||
game_state_redis_url=os.environ.get('GAME_STATE_REDIS_URL', 'redis://localhost:6379/0'),
|
||||
game_state_ttl_sec=int(os.environ.get('GAME_STATE_TTL_SEC', '900')),
|
||||
game_state_backend=game_state_backend,
|
||||
game_state_redis_url=game_state_redis_url,
|
||||
game_state_ttl_sec=game_state_ttl_sec,
|
||||
game_state_local_cache=env_bool('GAME_STATE_LOCAL_CACHE', default=True),
|
||||
metrics_backend=metrics_backend,
|
||||
metrics_redis_url=metrics_redis_url,
|
||||
metrics_ttl_sec=metrics_ttl_sec,
|
||||
)
|
||||
|
||||
if env_bool('STORE_GAME_HISTORY'):
|
||||
|
||||
Reference in New Issue
Block a user