我有一个使用SOAP从Web API下载数据的类。我想要做的是让类的实例在构造时实例化客户端,然后使用相同的客户端进行所有后续操作,除非连接超时。在这种情况下,它应该创建一个新的客户端。
该类发出多个请求,处理一些数据,然后根据数据处理结果继续发出后续请求。因此请求之间的时间可以变化很大。
有没有一种简单的方法来测试客户端是否超时?或者我最好将超时设置为非常长/为每个请求创建一个新客户端?
理想情况下,我希望能够这样:
from suds.client import Client
from suds.wsse import Security, UsernameToken
def create_client(self):
if self.client.timed_out():
token = UsernameToken(self.username, self.password)
security = Security().tokens.append(token)
client = Client(self.wsdl)
client.set_options(wsse=security)
self.client = client