fix: code review Sonnet — 2 крит. фикса + README v0.2.0

This commit is contained in:
2026-07-31 22:00:26 +04:00
parent 760d16ee61
commit d8749ce952
3 changed files with 72 additions and 26 deletions
+9 -3
View File
@@ -1,5 +1,5 @@
"""
polygon v0.1.0 — Mock Nubes API.
polygon v0.2.0 — Mock Nubes API.
Эмулятор REST API облачной платформы Nubes для интеграционных тестов.
Все эндпоинты с префиксом /api/v1/svc притворяются реальным Nubes API.
@@ -7,10 +7,12 @@ polygon v0.1.0 — Mock Nubes API.
Конфиги сервисов — из services/*.yaml (сгенерированы from_stands.py).
Деплой: Nubes pythonk8s (managed service) с gunicorn:
gunicorn app:app --workers 2 --bind 0.0.0.0:8000
gunicorn app:app --workers 1 --bind 0.0.0.0:8000
⛔ РОВНО 1 ВОРКЕР — состояние в памяти, не shared между процессами.
Переменные окружения:
MOCK_OP_DELAY — задержка операции в секундах (по умолчанию 0.1)
MOCK_OP_DELAY — задержка операции в секундах (по умолчанию 0.1)
WEB_CONCURRENCY — число gunicorn-воркеров (принудительно 1)
"""
import os
@@ -19,6 +21,10 @@ from datetime import datetime, timezone
from flask import Flask, jsonify, make_response, request
# ⛔ Принудительно 1 воркер — состояние в памяти, иначе инстансы теряются.
# setdefault не перезапишет если Nubes/Procfile уже выставил WEB_CONCURRENCY=1.
os.environ.setdefault("WEB_CONCURRENCY", "1")
import config_loader
import mock_state
import state_machine