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): def shutdown(self):
"""shutdown the BECService""" """shutdown the BECService"""
self.connector.shutdown() try:
self._service_info_event.set() self.connector.shutdown()
if self._service_info_thread: self._service_info_event.set()
self._service_info_thread.join() if self._service_info_thread:
self._metrics_emitter_event.set() self._service_info_thread.join()
if self._metrics_emitter_thread: self._metrics_emitter_event.set()
self._metrics_emitter_thread.join() if self._metrics_emitter_thread:
self._metrics_emitter_thread.join()
except AttributeError:
print("Failed to shutdown BECService.")
@property @property
def service_status(self): def service_status(self):

View File

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