Большой рефакторинг с кодексом
This commit is contained in:
@@ -6,14 +6,10 @@ import logging
|
||||
from pathlib import Path
|
||||
|
||||
from config_manager import ConfigManager
|
||||
from config_manager.v2.core import LogManager
|
||||
from config_manager.v2 import ManagementServerSettings
|
||||
from config_manager.v2.control import HttpControlChannel
|
||||
|
||||
logger = logging.getLogger()
|
||||
|
||||
# Таймаут health: без успешного execute() дольше этого времени — unhealthy.
|
||||
HEALTH_TIMEOUT = 3.0
|
||||
|
||||
|
||||
class MyApp(ConfigManager):
|
||||
def __init__(self, *args, **kwargs):
|
||||
@@ -31,21 +27,20 @@ class MyApp(ConfigManager):
|
||||
|
||||
|
||||
async def main() -> None:
|
||||
log_manager = LogManager()
|
||||
# Один объект: и HTTP management-сервер (enabled, port), и health (health_timeout).
|
||||
management_settings = ManagementServerSettings(
|
||||
enabled=True,
|
||||
port=8000,
|
||||
health_timeout=HEALTH_TIMEOUT,
|
||||
)
|
||||
config_path = Path(__file__).parent / "config.yaml"
|
||||
print(config_path)
|
||||
app = MyApp(
|
||||
str(config_path),
|
||||
log_manager=log_manager,
|
||||
management_settings=management_settings,
|
||||
control_channels=lambda m: [
|
||||
HttpControlChannel(
|
||||
host="0.0.0.0",
|
||||
port=8000,
|
||||
timeout=3,
|
||||
health_provider=m.get_health_provider(),
|
||||
)
|
||||
],
|
||||
)
|
||||
logger.info("App starting (health_timeout=%s)", HEALTH_TIMEOUT)
|
||||
logger.info("App starting")
|
||||
# Менеджер запускаем в фоне (start() не возвращает управление до stop).
|
||||
asyncio.create_task(app.start())
|
||||
|
||||
|
||||
Reference in New Issue
Block a user