Невозможно тайм-аут соединения GRPC со стороны сервера. Возможно, что клиент устанавливает соединение, но остается в режиме удержания / сна, что приводит к зависанию соединения с сервером grpc. Есть ли способ на стороне сервера отключить соединение через определенное время или установить тайм-аут?
Мы попытались отключить соединение со стороны клиента, но не смогли сделать это со стороны сервера. По этой ссылке Проблема с настройкой gRPC. Получив прерывистую ошибку RPC недоступно , Ангад говорит, что это возможно, но невозможно определить эти параметры в python.
Мой фрагмент кода:
def serve():
server = grpc.server(thread_pool=futures.ThreadPoolExecutor(max_workers=2), maximum_concurrent_rpcs=None, options=(('grpc.so_reuseport', 1),('grpc.GRPC_ARG_KEEPALIVE_TIME_MS', 1000)))
stt_pb2_grpc.add_ListenerServicer_to_server(Listener(), server)
server.add_insecure_port("localhost:50051")
print("Server starting in port "+str(50051))
server.start()
try:
while True:
time.sleep(60 * 60 * 24)
except KeyboardInterrupt:
server.stop(0)
if __name__ == '__main__':
serve()
Я ожидаю, что время ожидания соединения со стороны сервера grpc также должно быть в python.