fix(bec_lib): fixed client shutdown for failed inits

This commit is contained in:
wakonig_k 2024-03-20 11:58:15 +01:00
parent 38acb5f8d1
commit fc8ff9bd75
2 changed files with 11 additions and 8 deletions

View File

@ -265,13 +265,16 @@ class BECService:
def shutdown(self):
"""shutdown the BECService"""
self.connector.shutdown()
self._service_info_event.set()
if self._service_info_thread:
self._service_info_thread.join()
self._metrics_emitter_event.set()
if self._metrics_emitter_thread:
self._metrics_emitter_thread.join()
try:
self.connector.shutdown()
self._service_info_event.set()
if self._service_info_thread:
self._service_info_thread.join()
self._metrics_emitter_event.set()
if self._metrics_emitter_thread:
self._metrics_emitter_thread.join()
except AttributeError:
print("Failed to shutdown BECService.")
@property
def service_status(self):

View File

@ -115,6 +115,7 @@ class BECClient(BECService, UserScriptsMixin):
"""start the client"""
if self.started:
return
self.started = True
config = self.__init_params["config"]
connector_cls = self.__init_params["connector_cls"]
wait_for_server = self.__init_params["wait_for_server"]
@ -122,7 +123,6 @@ class BECClient(BECService, UserScriptsMixin):
builtins.bec = self._parent
self._start_services()
logger.info("Starting new client")
self.started = True
def _start_services(self):
self._configure_logger()