Python 长期运行调用的thrift超时:thrift.transport.ttTransport.ttTransportException:TSocket读取0字节

Python 长期运行调用的thrift超时:thrift.transport.ttTransport.ttTransportException:TSocket读取0字节,python,sockets,timeout,thrift,Python,Sockets,Timeout,Thrift,我已经使用thrift构建了一些rpc服务。每次通话可能需要很长时间(几分钟到几小时)。我已将节俭超时设置为2天 transport = TSocket.TSocket(self.__host, self.__port) transport.setTimeout(2 * 24 * 60 * 60 * 1000) 但thrift总是在大约600秒后关闭连接,以下情况除外: thrift.transport.TTransport.TTransportException: TSocket read

我已经使用thrift构建了一些rpc服务。每次通话可能需要很长时间(几分钟到几小时)。我已将节俭超时设置为2天

transport = TSocket.TSocket(self.__host, self.__port)
transport.setTimeout(2 * 24 * 60 * 60 * 1000)
但thrift总是在大约600秒后关闭连接,以下情况除外:

thrift.transport.TTransport.TTransportException: TSocket read 0 bytes

我应该设置其他超时吗?(python,thrift服务器:windows;客户端:ubuntu)

thrift传输连接正在断开。这可能是由于网络问题或远程服务重新启动或超时问题造成的。无论何时在断开连接后进行任何调用,都会导致TTTransportException。这个问题可以通过重新连接到远程服务来解决。 尝试使用它,在进行远程服务调用之前调用它

def repoen_transport():
    try:
        if not transport.isOpen():
            transport.open()
    except Exception, msg:
        print >> sys.stderr.write("Error reopening transport {}".format(msg))