fix: code review #2 — _cfg.DELAY + VERSION в config/loader + мёртвые импорты

This commit is contained in:
2026-07-31 22:32:00 +04:00
parent 9647afcfa2
commit 94d35f3914
8 changed files with 48 additions and 27 deletions
+9 -2
View File
@@ -2,10 +2,11 @@
config/loader.py — загрузка сервисов и глобальные конфигурационные переменные.
Этот модуль загружает все YAML-конфиги сервисов при первом импорте и хранит их
как модульные переменные. Все routes/*.py импортируют SERVICES, OPS_INDEX, DELAY
отсюда — без дублирования загрузки и без циклических импортов.
как модульные переменные. Все routes/*.py импортируют SERVICES, OPS_INDEX, DELAY,
VERSION отсюда — без дублирования загрузки и без циклических импортов.
Переменные модуля (вычисляются ОДИН раз при старте):
VERSION — str, версия полигона (единая для app.py и root.py)
SERVICES — {service_id: service_def} все сервисы
OPS_INDEX — {svcOperationId: service_def} поиск сервиса по ID операции
DELAY — float, задержка операции из MOCK_OP_DELAY (по умолчанию 0.1)
@@ -64,4 +65,10 @@ SERVICES, OPS_INDEX = _load_all()
# Задержка операции в секундах (для синхронного sleep в /run).
# Меняется на лету через POST /_mock/delay/<s> — см. mock_routes.py.
# ⛔ Импортировать ТОЛЬКО через `import config.loader as _cfg` и читать `_cfg.DELAY` —
# иначе float копируется по значению и не реагирует на изменение.
DELAY = float(os.getenv("MOCK_OP_DELAY", "0.1"))
# Версия полигона — единый источник правды для app.py и routes/root.py.
# Меняется при КАЖДОМ изменении кода.
VERSION = "0.2.2"