Сделал сам
This commit is contained in:
@@ -4,8 +4,8 @@ build-backend = "setuptools.build_meta"
|
||||
|
||||
[project]
|
||||
name = "config_manager"
|
||||
version = "2.1.2"
|
||||
description = "Изменена логика задания таймаутов ожидания"
|
||||
version = "2.1.3"
|
||||
description = "Курсор утомил..."
|
||||
authors = [
|
||||
{ name = "Aleksei Zosimov", email = "lesha.spb@gmail.com" }
|
||||
]
|
||||
|
||||
@@ -3,10 +3,12 @@
|
||||
Запускает воркер и периодическое обновление конфига, поднимает management-сервер и control-канал при наличии настроек."""
|
||||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
import asyncio
|
||||
import logging
|
||||
import time
|
||||
from typing import Any, Optional
|
||||
import logging
|
||||
|
||||
from ...v1.log_manager import LogManager
|
||||
from ..control.base import ControlChannel
|
||||
@@ -20,6 +22,7 @@ from ..types import HealthPayload, LifecycleState, ManagementServerSettings
|
||||
from .config_loader import ConfigLoader
|
||||
from .scheduler import WorkerLoop
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
class ConfigManagerV2:
|
||||
DEFAULT_UPDATE_INTERVAL = 5
|
||||
@@ -35,8 +38,9 @@ class ConfigManagerV2:
|
||||
"""Инициализация подсистем менеджера и состояния рантайма."""
|
||||
self.path = path
|
||||
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._log_manager = log_manager or LogManager()
|
||||
@@ -123,6 +127,7 @@ class ConfigManagerV2:
|
||||
|
||||
async def _worker_loop(self) -> None:
|
||||
"""Вызывать execute() циклически до запроса остановки."""
|
||||
logger.debug(f"Запускаем _worker_loop с интервалом {self.work_interval}")
|
||||
worker = WorkerLoop(
|
||||
execute=self.execute,
|
||||
get_interval=lambda: self.work_interval,
|
||||
|
||||
Reference in New Issue
Block a user