From 693aebc6513cde4f3a71265427ceb74064c3c76f Mon Sep 17 00:00:00 2001 From: Arnaud Botella Date: Thu, 23 Oct 2025 13:25:33 +0200 Subject: [PATCH 1/9] fix(Kill): stop webserver first --- src/opengeodeweb_viewer/rpc/utils_protocols.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/opengeodeweb_viewer/rpc/utils_protocols.py b/src/opengeodeweb_viewer/rpc/utils_protocols.py index 6be033a..8f931f6 100644 --- a/src/opengeodeweb_viewer/rpc/utils_protocols.py +++ b/src/opengeodeweb_viewer/rpc/utils_protocols.py @@ -2,7 +2,7 @@ import os # Third party imports -from wslink import register as exportRpc # type: ignore +from wslink import register as exportRpc, server # type: ignore # Local application imports from opengeodeweb_microservice.schemas import get_schemas_dict @@ -21,4 +21,5 @@ def __init__(self) -> None: @exportRpc(utils_prefix + utils_schemas_dict["kill"]["rpc"]) def kill(self) -> None: print("Manual viewer kill, shutting down...", flush=True) + server.stop_webserver() os._exit(0) From 1bbd853ed6b1d79ac9cd0d91336321d8083d2dff Mon Sep 17 00:00:00 2001 From: BotellaA <3213882+BotellaA@users.noreply.github.com> Date: Thu, 23 Oct 2025 11:26:39 +0000 Subject: [PATCH 2/9] Apply prepare changes --- requirements.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 9e24baf..065674a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -61,4 +61,3 @@ wslink==1.12.4 yarl>=1 # via aiohttp -opengeodeweb-microservice==1.*,>=1.0.6rc1 From a704d22764005233b1ce9154bbbe588b74cc5b5e Mon Sep 17 00:00:00 2001 From: Arnaud Botella Date: Thu, 23 Oct 2025 13:28:39 +0200 Subject: [PATCH 3/9] asyncio --- src/opengeodeweb_viewer/rpc/utils_protocols.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/opengeodeweb_viewer/rpc/utils_protocols.py b/src/opengeodeweb_viewer/rpc/utils_protocols.py index 8f931f6..d442eaf 100644 --- a/src/opengeodeweb_viewer/rpc/utils_protocols.py +++ b/src/opengeodeweb_viewer/rpc/utils_protocols.py @@ -1,5 +1,6 @@ # Standard library imports import os +import asyncio # Third party imports from wslink import register as exportRpc, server # type: ignore @@ -19,7 +20,7 @@ def __init__(self) -> None: super().__init__() @exportRpc(utils_prefix + utils_schemas_dict["kill"]["rpc"]) - def kill(self) -> None: + async def kill(self) -> None: print("Manual viewer kill, shutting down...", flush=True) - server.stop_webserver() + await server.stop_webserver() os._exit(0) From ee85d14789827bd9b4f5c0ce1f69c30e7d1ef19a Mon Sep 17 00:00:00 2001 From: Arnaud Botella Date: Sun, 26 Oct 2025 20:25:05 +0100 Subject: [PATCH 4/9] fix --- src/opengeodeweb_viewer/rpc/utils_protocols.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/opengeodeweb_viewer/rpc/utils_protocols.py b/src/opengeodeweb_viewer/rpc/utils_protocols.py index d442eaf..5102ccc 100644 --- a/src/opengeodeweb_viewer/rpc/utils_protocols.py +++ b/src/opengeodeweb_viewer/rpc/utils_protocols.py @@ -1,9 +1,8 @@ # Standard library imports import os -import asyncio # Third party imports -from wslink import register as exportRpc, server # type: ignore +from wslink import register as exportRpc # type: ignore # Local application imports from opengeodeweb_microservice.schemas import get_schemas_dict @@ -20,7 +19,7 @@ def __init__(self) -> None: super().__init__() @exportRpc(utils_prefix + utils_schemas_dict["kill"]["rpc"]) - async def kill(self) -> None: + def kill(self) -> None: print("Manual viewer kill, shutting down...", flush=True) - await server.stop_webserver() + self.publish("kill", "Viewer killed") os._exit(0) From a9af4f8a199abad63dfb4fd37378b32468468a2f Mon Sep 17 00:00:00 2001 From: JulienChampagnol Date: Mon, 27 Oct 2025 09:32:43 +0100 Subject: [PATCH 5/9] test time.sleep(2) --- src/opengeodeweb_viewer/rpc/utils_protocols.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/opengeodeweb_viewer/rpc/utils_protocols.py b/src/opengeodeweb_viewer/rpc/utils_protocols.py index 5102ccc..1e17b8a 100644 --- a/src/opengeodeweb_viewer/rpc/utils_protocols.py +++ b/src/opengeodeweb_viewer/rpc/utils_protocols.py @@ -1,5 +1,6 @@ # Standard library imports import os +import time # Third party imports from wslink import register as exportRpc # type: ignore @@ -22,4 +23,5 @@ def __init__(self) -> None: def kill(self) -> None: print("Manual viewer kill, shutting down...", flush=True) self.publish("kill", "Viewer killed") + time.sleep(2) os._exit(0) From 8380b53880e6fd52cfcae3c27f969e227493a03c Mon Sep 17 00:00:00 2001 From: JulienChampagnol Date: Mon, 27 Oct 2025 11:27:55 +0100 Subject: [PATCH 6/9] test time.sleep(5) --- src/opengeodeweb_viewer/rpc/utils_protocols.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/opengeodeweb_viewer/rpc/utils_protocols.py b/src/opengeodeweb_viewer/rpc/utils_protocols.py index 1e17b8a..63edf46 100644 --- a/src/opengeodeweb_viewer/rpc/utils_protocols.py +++ b/src/opengeodeweb_viewer/rpc/utils_protocols.py @@ -23,5 +23,5 @@ def __init__(self) -> None: def kill(self) -> None: print("Manual viewer kill, shutting down...", flush=True) self.publish("kill", "Viewer killed") - time.sleep(2) + time.sleep(5) os._exit(0) From 359eb6faec3529d328289ca83dde7e349679947e Mon Sep 17 00:00:00 2001 From: JulienChampagnol Date: Mon, 27 Oct 2025 12:45:10 +0100 Subject: [PATCH 7/9] test os._exit(0) --- .../rpc/utils_protocols.py | 25 ++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/src/opengeodeweb_viewer/rpc/utils_protocols.py b/src/opengeodeweb_viewer/rpc/utils_protocols.py index 63edf46..72524c6 100644 --- a/src/opengeodeweb_viewer/rpc/utils_protocols.py +++ b/src/opengeodeweb_viewer/rpc/utils_protocols.py @@ -1,6 +1,26 @@ # Standard library imports import os -import time + +# Third party imports +from wslink import register as exportRpc # type: ignore + +# Local application imports +from opengeodeweb_microservice.schemas import get_schemas_dict +from opengeodeweb_viewer.vtk_protocol import VtkView + + +class VtkUtilsView(VtkView): + utils_prefix = "opengeodeweb_viewer." + utils_schemas_dict = get_schemas_dict( + os.path.join(os.path.dirname(__file__), "schemas") + ) + + def __init__(self) -> None: + super().__init__() + + @exportRpc(utils_prefix + utils_schemas_dict["kill"]["rpc"]) +# Standard library imports +import os # Third party imports from wslink import register as exportRpc # type: ignore @@ -21,7 +41,6 @@ def __init__(self) -> None: @exportRpc(utils_prefix + utils_schemas_dict["kill"]["rpc"]) def kill(self) -> None: + print(f"{self.utils_prefix + self.utils_schemas_dict['kill']['rpc']}", flush=True) print("Manual viewer kill, shutting down...", flush=True) - self.publish("kill", "Viewer killed") - time.sleep(5) os._exit(0) From 3622cd83e42ba652406c29d77cc7a0b525cba074 Mon Sep 17 00:00:00 2001 From: JulienChampagnol Date: Mon, 27 Oct 2025 12:57:34 +0100 Subject: [PATCH 8/9] cleanup --- .../rpc/utils_protocols.py | 21 ------------------- 1 file changed, 21 deletions(-) diff --git a/src/opengeodeweb_viewer/rpc/utils_protocols.py b/src/opengeodeweb_viewer/rpc/utils_protocols.py index 72524c6..f736da1 100644 --- a/src/opengeodeweb_viewer/rpc/utils_protocols.py +++ b/src/opengeodeweb_viewer/rpc/utils_protocols.py @@ -9,27 +9,6 @@ from opengeodeweb_viewer.vtk_protocol import VtkView -class VtkUtilsView(VtkView): - utils_prefix = "opengeodeweb_viewer." - utils_schemas_dict = get_schemas_dict( - os.path.join(os.path.dirname(__file__), "schemas") - ) - - def __init__(self) -> None: - super().__init__() - - @exportRpc(utils_prefix + utils_schemas_dict["kill"]["rpc"]) -# Standard library imports -import os - -# Third party imports -from wslink import register as exportRpc # type: ignore - -# Local application imports -from opengeodeweb_microservice.schemas import get_schemas_dict -from opengeodeweb_viewer.vtk_protocol import VtkView - - class VtkUtilsView(VtkView): utils_prefix = "opengeodeweb_viewer." utils_schemas_dict = get_schemas_dict( From b98504499ccdc5d28ba1934156dc1e64449c87f8 Mon Sep 17 00:00:00 2001 From: JulienChampagnol <91873154+JulienChampagnol@users.noreply.github.com> Date: Mon, 27 Oct 2025 13:58:47 +0000 Subject: [PATCH 9/9] Apply prepare changes --- src/opengeodeweb_viewer/rpc/utils_protocols.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/opengeodeweb_viewer/rpc/utils_protocols.py b/src/opengeodeweb_viewer/rpc/utils_protocols.py index f736da1..8dbd70f 100644 --- a/src/opengeodeweb_viewer/rpc/utils_protocols.py +++ b/src/opengeodeweb_viewer/rpc/utils_protocols.py @@ -20,6 +20,8 @@ def __init__(self) -> None: @exportRpc(utils_prefix + utils_schemas_dict["kill"]["rpc"]) def kill(self) -> None: - print(f"{self.utils_prefix + self.utils_schemas_dict['kill']['rpc']}", flush=True) + print( + f"{self.utils_prefix + self.utils_schemas_dict['kill']['rpc']}", flush=True + ) print("Manual viewer kill, shutting down...", flush=True) os._exit(0)