def __stop_client_threads()

in python/rocketmq/v5/client/client.py [0:0]


    def __stop_client_threads(self):
        self.__client_thread_task_enabled = False
        if self.__topic_route_scheduler is not None:
            if self.__topic_route_scheduler_threading_event is not None:
                self.__topic_route_scheduler_threading_event.set()
                self.__topic_route_scheduler.join()

        if self.__heartbeat_scheduler is not None:
            if self.__heartbeat_scheduler_threading_event is not None:
                self.__heartbeat_scheduler_threading_event.set()
                self.__heartbeat_scheduler.join()

        if self.__sync_setting_scheduler is not None:
            if self.__sync_setting_scheduler_threading_event is not None:
                self.__sync_setting_scheduler_threading_event.set()
                self.__sync_setting_scheduler.join()

        if self.__clear_idle_rpc_channels_scheduler is not None:
            if self.__clear_idle_rpc_channels_threading_event is not None:
                self.__clear_idle_rpc_channels_threading_event.set()
                self.__clear_idle_rpc_channels_scheduler.join()

        if self.__client_callback_executor is not None:
            self.__client_callback_executor.shutdown()

        self.__topic_route_scheduler = None
        self.__topic_route_scheduler_threading_event = None
        self.__heartbeat_scheduler = None
        self.__heartbeat_scheduler_threading_event = None
        self.__sync_setting_scheduler = None
        self.__sync_setting_scheduler_threading_event = None
        self.__clear_idle_rpc_channels_scheduler = None
        self.__clear_idle_rpc_channels_threading_event = None
        self.__client_callback_executor = None