How to set rpc timeout in thrift python client?

shuxiong picture shuxiong · Aug 20, 2012 · Viewed 8.7k times · Source

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()

Answer

srj picture srj · Oct 5, 2012

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)