Сделал сам

This commit is contained in:
2026-02-21 23:35:16 +03:00
parent b2442f4d91
commit 2b02af60d5
2 changed files with 9 additions and 4 deletions

View File

@@ -4,8 +4,8 @@ build-backend = "setuptools.build_meta"
[project] [project]
name = "config_manager" name = "config_manager"
version = "2.1.2" version = "2.1.3"
description = "Изменена логика задания таймаутов ожидания" description = "Курсор утомил..."
authors = [ authors = [
{ name = "Aleksei Zosimov", email = "lesha.spb@gmail.com" } { name = "Aleksei Zosimov", email = "lesha.spb@gmail.com" }
] ]

View File

@@ -3,10 +3,12 @@
Запускает воркер и периодическое обновление конфига, поднимает management-сервер и control-канал при наличии настроек.""" Запускает воркер и периодическое обновление конфига, поднимает management-сервер и control-канал при наличии настроек."""
from __future__ import annotations from __future__ import annotations
import os
import asyncio import asyncio
import logging import logging
import time import time
from typing import Any, Optional from typing import Any, Optional
import logging
from ...v1.log_manager import LogManager from ...v1.log_manager import LogManager
from ..control.base import ControlChannel from ..control.base import ControlChannel
@@ -20,6 +22,7 @@ from ..types import HealthPayload, LifecycleState, ManagementServerSettings
from .config_loader import ConfigLoader from .config_loader import ConfigLoader
from .scheduler import WorkerLoop from .scheduler import WorkerLoop
logger = logging.getLogger(__name__)
class ConfigManagerV2: class ConfigManagerV2:
DEFAULT_UPDATE_INTERVAL = 5 DEFAULT_UPDATE_INTERVAL = 5
@@ -35,8 +38,9 @@ class ConfigManagerV2:
"""Инициализация подсистем менеджера и состояния рантайма.""" """Инициализация подсистем менеджера и состояния рантайма."""
self.path = path self.path = path
self.config: Any = None self.config: Any = None
self.update_interval = self.DEFAULT_UPDATE_INTERVAL # Интервалы опроса (минуты): только здесь, в конфиг не пишем
self.work_interval = self.DEFAULT_WORK_INTERVAL self.update_interval = int(os.environ.get("UPDATE_INTERVAL", self.DEFAULT_UPDATE_INTERVAL))
self.work_interval = int(os.environ.get("WORK_INTERVAL", self.DEFAULT_WORK_INTERVAL))
self._loader = ConfigLoader(path) self._loader = ConfigLoader(path)
self._log_manager = log_manager or LogManager() self._log_manager = log_manager or LogManager()
@@ -123,6 +127,7 @@ class ConfigManagerV2:
async def _worker_loop(self) -> None: async def _worker_loop(self) -> None:
"""Вызывать execute() циклически до запроса остановки.""" """Вызывать execute() циклически до запроса остановки."""
logger.debug(f"Запускаем _worker_loop с интервалом {self.work_interval}")
worker = WorkerLoop( worker = WorkerLoop(
execute=self.execute, execute=self.execute,
get_interval=lambda: self.work_interval, get_interval=lambda: self.work_interval,