Search code examples
pythonrpcthrift

How to set rpc timeout in thrift python client?


I'm writing python client using thrift, but I can't find any available option to set rpc time out.

My client code goes below:

socket = TSocket.TSocket(address, port)
transport = TTransport.TBufferedTransport(socket)
protocol = TBinaryProtocol.TBinaryProtocol(transport)
server = Client.Client(protocol)
transport.open()

Solution

  • You can use socket.setTimeout() method.

    from thrift.transport.THttpClient import THttpClient
    socket = THttpClient(server_url)
    socket.setTimeout(SERVICE_TIMEOUT_IN_mS)
    transport = TTransport.TBufferedTransport(socket)
    protocol = TBinaryProtocol.TBinaryProtocol(transport)