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: """Периодически проверять файл конфига на обновления до остановки."""