【问题标题】:How to set timeout on SUDS connection如何在 SUDS 连接上设置超时
【发布时间】:2017-04-17 19:04:48
【问题描述】:

我正在努力解决应该是一个非常简单的问题。我未能在 SUDS jurko 连接上设置会话超时。我的 WSDL 很好。提取较小的数据集时一切正常。我尝试了几种设置超时的方法。虽然以下没有抱怨/等等,但它也是无效的:

from suds.client import Client
client = Client(authUrl, timeout=600)

默认 90 秒后,我的连接/等似乎失败。不幸的是,这还不足以获得我需要的数据。我收到的错误是

ssl.SSLError: ('The read operation timed out',)

帮助!我猜我的 Google foo 很弱。我已经尝试了很多事情......最后,我不得不寻求帮助。将不胜感激...

【问题讨论】:

  • 如果包含 WSDL 可能会有所帮助。
  • WSDL 没问题。我正在成功提取数据。我面临的问题是 DEV 副本仅提取约 1,000 条记录。 PROD 副本(相同的 WSDL,不同的服务器)提取约 20,000 条记录。我只是得到一个超时。不幸的是,我不能轻易地发布 WSDL。它在单独的机器/网络/等上。
  • 你运行的是哪个版本?
  • 对不起,伙计们——我已经搬到了另一个项目(和公司)。我从来没有找到解决这个问题的方法。根本原因/条件 (IIRC) 是数据量太大。我不再有权访问代码。幸运的是,从那时起,我就摆脱了处理 SOAP 的恐惧。 :-) 祝不幸的人好运!

标签: python timeout suds


【解决方案1】:

虽然这对 OP 没有帮助,但我认为值得一提的是,在 Python 3.9 下,对 Client(...., timeout=300) 的调用似乎正在使用来自 https://github.com/Skylude/sudssudz 版本 1.0.3 - 所以我猜这个问题已解决。

【讨论】:

    猜你喜欢
    • 2015-07-13
    • 1970-01-01
    • 1970-01-01
    • 2013-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-09
    • 2018-12-19
    相关资源
    最近更新 更多