From: Aleš Mrázek Date: Wed, 3 Jul 2024 04:50:24 +0000 (+0200) Subject: manager: 'policy-loader' removed from watched subprocesses X-Git-Tag: v6.0.8~6^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5da4d0e908b1a1b5edb3a64863dabecb1fbd4e54;p=thirdparty%2Fknot-resolver.git manager: 'policy-loader' removed from watched subprocesses --- diff --git a/manager/knot_resolver_manager/kres_manager.py b/manager/knot_resolver_manager/kres_manager.py index 81aa7d7e9..6682d9262 100644 --- a/manager/knot_resolver_manager/kres_manager.py +++ b/manager/knot_resolver_manager/kres_manager.py @@ -345,7 +345,7 @@ class KresManager: # pylint: disable=too-many-instance-attributes logger.error("Failed attempting to fix an error. Forcefully shutting down.", exc_info=True) await self.forced_shutdown() - async def _watchdog(self) -> None: + async def _watchdog(self) -> None: # pylint: disable=too-many-branches while True: await asyncio.sleep(WATCHDOG_INTERVAL) @@ -358,11 +358,12 @@ class KresManager: # pylint: disable=too-many-instance-attributes expected_ids = [x.id for x in self._workers] if self._gc: expected_ids.append(self._gc.id) - if self._policy_loader: - expected_ids.append(self._policy_loader.id) invoke_callback = False + if self._policy_loader: + expected_ids.append(self._policy_loader.id) + for eid in expected_ids: if eid not in detected_subprocesses: logger.error("Subprocess with id '%s' was not found in the system!", eid) @@ -370,6 +371,12 @@ class KresManager: # pylint: disable=too-many-instance-attributes continue if detected_subprocesses[eid] is SubprocessStatus.FATAL: + if self._policy_loader and self._policy_loader.id == eid: + logger.info( + "Subprocess '%s' is skipped by WatchDog because its status is monitored in a different way.", + eid, + ) + continue logger.error("Subprocess '%s' is in FATAL state!", eid) invoke_callback = True continue