Сделал сам
This commit is contained in:
@@ -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" }
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|||||||
Reference in New Issue
Block a user