def serve(self): config = self.create_config() self.configure_console_logging() medusa_pb2_grpc.add_MedusaServicer_to_server(MedusaService(config), self.grpc_server) health_pb2_grpc.add_HealthServicer_to_server( grpc_health.v1.health.HealthServicer(), self.grpc_server) logging.info('Starting server. Listening on port 50051.') self.grpc_server.add_insecure_port('[::]:50051') self.grpc_server.start() if not self.testing: signal.signal(signal.SIGTERM, self.shutdown) self.grpc_server.wait_for_termination()
for logger_name in 'urllib3', 'google_cloud_storage.auth.transport.requests', 'paramiko', 'cassandra': logging.getLogger(logger_name).setLevel(logging.WARN) def shutdown(signum, frame): logging.info("shutting down") server.stop(0) if len(sys.argv) > 2: config_file_path = sys.argv[2] else: config_file_path = "/etc/medusa/medusa.ini" config = create_config(config_file_path) configure_console_logging(config.logging) server = grpc.server(futures.ThreadPoolExecutor(max_workers=10)) medusa_pb2_grpc.add_MedusaServicer_to_server(MedusaService(config), server) health_pb2_grpc.add_HealthServicer_to_server( grpc_health.v1.health.HealthServicer(), server) logging.info('Starting server. Listening on port 50051.') server.add_insecure_port('[::]:50051') server.start() signal.signal(signal.SIGTERM, shutdown) server.wait_for_termination()