From cac2e4f746bd8775c73e3837d9f985d68597f69e Mon Sep 17 00:00:00 2001 From: Dariusz Suchojad Date: Fri, 8 Nov 2024 19:54:45 +0100 Subject: [PATCH] GH #755 - Made it possible to create servers that aren't based on repo directories. --- .../zato-common/src/zato/common/aux_server/base.py | 14 +++++++++++++- code/zato-common/src/zato/common/ipc/server.py | 2 +- code/zato-scheduler/src/zato/scheduler/main.py | 2 +- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/code/zato-common/src/zato/common/aux_server/base.py b/code/zato-common/src/zato/common/aux_server/base.py index 5c027d4d32..8c2354f4ae 100644 --- a/code/zato-common/src/zato/common/aux_server/base.py +++ b/code/zato-common/src/zato/common/aux_server/base.py @@ -314,7 +314,7 @@ def after_config_hook( # ################################################################################################################################ @classmethod - def start( + def start_from_repo_location( class_, # type: type_[AuxServer] *, base_dir=None, # type: strnone @@ -373,6 +373,18 @@ def start( class_.after_config_hook(config, repo_location) # Run the server now + class_._start(config) + +# ################################################################################################################################ + + @classmethod + def start_from_config(class_:'type_[AuxServer]', config:'AuxServerConfig') -> 'None': + class_._start(config) + +# ################################################################################################################################ + + @classmethod + def _start(class_:'type_[AuxServer]', config:'AuxServerConfig') -> 'None': try: class_(config).serve_forever() except Exception: diff --git a/code/zato-common/src/zato/common/ipc/server.py b/code/zato-common/src/zato/common/ipc/server.py index 4f72a5e440..e996950b05 100644 --- a/code/zato-common/src/zato/common/ipc/server.py +++ b/code/zato-common/src/zato/common/ipc/server.py @@ -75,7 +75,7 @@ def my_callback(msg:'Bunch') -> 'str': password = 'test.password' server_type_suffix = ':test' - IPCServer.start( + IPCServer.start_from_repo_location( base_dir=base_dir, bind_host=bind_host, bind_port=bind_port, diff --git a/code/zato-scheduler/src/zato/scheduler/main.py b/code/zato-scheduler/src/zato/scheduler/main.py index 56a2b8363a..55422c28c3 100644 --- a/code/zato-scheduler/src/zato/scheduler/main.py +++ b/code/zato-scheduler/src/zato/scheduler/main.py @@ -27,7 +27,7 @@ # ################################################################################################################################ def main(): - SchedulerServer.start() + SchedulerServer.start_from_repo_location() # ################################################################################################################################ # ################################################################################################################################