From 8d177b0fd1ea8796891d5ee94efc8efb7ed436d7 Mon Sep 17 00:00:00 2001 From: zosimovaa Date: Sun, 22 Feb 2026 23:03:11 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8=20=D0=BB?= =?UTF-8?q?=D0=BE=D0=B3=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=B2=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D1=83=20worker=20loop?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/config_manager/v1/cfg_manager.py | 10 +++++++--- src/config_manager/v2/core/manager.py | 6 +++++- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/config_manager/v1/cfg_manager.py b/src/config_manager/v1/cfg_manager.py index 6e5ef18..d6aad84 100644 --- a/src/config_manager/v1/cfg_manager.py +++ b/src/config_manager/v1/cfg_manager.py @@ -81,9 +81,13 @@ class ConfigManager: pass async def _worker_loop(self) -> None: - while not self._halt.is_set(): - await asyncio.to_thread(self.execute) - await asyncio.sleep(self.work_interval) + self.logger.warning("Worker loop started") + try: + while not self._halt.is_set(): + await asyncio.to_thread(self.execute) + await asyncio.sleep(self.work_interval) + finally: + self.logger.warning("Worker loop stopped") async def _periodic_update_loop(self) -> None: while not self._halt.is_set(): diff --git a/src/config_manager/v2/core/manager.py b/src/config_manager/v2/core/manager.py index 24d6abf..a7ebe34 100644 --- a/src/config_manager/v2/core/manager.py +++ b/src/config_manager/v2/core/manager.py @@ -129,6 +129,7 @@ class ConfigManagerV2: async def _worker_loop(self) -> None: """Вызывать execute() циклически до запроса остановки.""" + logger.warning("Worker loop started") logger.debug(f"Запускаем _worker_loop с интервалом {self.work_interval}") worker = WorkerLoop( execute=self.execute, @@ -137,7 +138,10 @@ class ConfigManagerV2: on_error=self._on_execute_error, on_success=self._on_execute_success, ) - await worker.run() + try: + await worker.run() + finally: + logger.warning("Worker loop stopped") async def _periodic_update_loop(self) -> None: """Периодически проверять файл конфига на обновления до остановки."""