class AxonController(object): def __init__(self): self.axon_port = conf.AXON_PORT self.service = AxonService() self.protocol_config = self.service.RPYC_PROTOCOL_CONFIG self.logger = logging.getLogger(__name__) self.logger.setLevel(logging.WARN) self.axon_service = ThreadPoolServer( self.service, port=self.axon_port, reuse_addr=True, protocol_config=self.protocol_config, logger=self.logger, nbThreads=50) def start(self): try: self.service.exposed_traffic.start_servers() self.service.exposed_traffic.start_clients() except Exception: self.logger.exception("Ooops!! Exception during Traffic Start") self.axon_service.start() def stop(self): try: self.service.exposed_traffic.stop_clients() self.service.exposed_traffic.stop_servers() except Exception: self.logger.exception("Ooops!! Exception during Traffic Stop") self.axon_service.close()