From e333c2143ea502100d20f3b7ebd3d13c1a68462e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20S=C3=A1nchez-Gallego?= Date: Tue, 26 Mar 2024 02:42:09 +0000 Subject: [PATCH] Speed up checks when verification fails --- poetry.lock | 2 +- src/lvmnps/actor/actor.py | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/poetry.lock b/poetry.lock index bbc443e..bd879a2 100644 --- a/poetry.lock +++ b/poetry.lock @@ -913,7 +913,7 @@ ds9 = ["pyds9 (>=1.8.1,<2.0.0)"] type = "git" url = "https://github.com/sdss/lvmopstools.git" reference = "main" -resolved_reference = "9a62a226fdbf73ba91f4b572d2783ddf2b1fa663" +resolved_reference = "033369cf7094833f06ae65638bb2ce9a2bafaea4" [[package]] name = "makefun" diff --git a/src/lvmnps/actor/actor.py b/src/lvmnps/actor/actor.py index 15b43de..99974a7 100644 --- a/src/lvmnps/actor/actor.py +++ b/src/lvmnps/actor/actor.py @@ -35,6 +35,8 @@ AnyPath = str | PathLike[str] +CHECK_INTERVAL: float = 30 + NPSErrorCodes = create_error_codes( { "VERIFICATION_FAILED": ErrorData( @@ -102,6 +104,9 @@ def __init__( self.nps = get_nps_from_config(self.config) + self.restart_after = 30 + self.restart_mode = "exit" + async def start(self, **kwargs): # pragma: no cover """Starts the actor.""" @@ -124,8 +129,10 @@ async def _check_internal(self): if result is False: raise VerificationError("NPS verification failed.") except Exception as err: + self.check_interval = 5 # Speed up checks raise CheckError(str(err), error_code=NPSErrorCodes.VERIFICATION_FAILED) + self.check_interval = CHECK_INTERVAL return True async def _troubleshoot_internal(