【问题标题】:With Python Splunk SDK stop raise HTTPError(response) for 504 responses使用 Python Splunk SDK 停止为 504 响应引发 HTTPError(response)
【发布时间】:2020-03-06 03:52:30
【问题描述】:

当我们通过 API 进行查询时,我们的 Splunk 环境有时会引发 504 错误,这是一段时间以来的已知问题。我们最近将一个连接器转移到使用 Python sdk 而不是我们拥有的 hacky 脚本。在我们基于 API 的版本中,我们能够捕获随机弹出的 504 错误并循环返回并在它们发生时重试。使用 Python SDK,我能找到的最好的方法是:

flag = True
while flag:
    try:
        job = self.service.jobs.(create|results|any jobs./job. call)(query, **kwargs_normalsearch)
        flag = False
    except binding.HTTPError:
        print('Splunk 504 Error')
    pass
pass

但这有很多问题,特别是因为如果除了 504 弹出之外的任何其他错误实际上表明存在真正的问题,我将陷入一个永无止境的循环。如果作业/作业对象有一个参数或其他东西允许忽略特定的 HTTP 错误?我真的很想停止在 True 循环中将这些调用包装为愚蠢的。如果没有,有没有办法从引发的异常中提取状态,并且至少能够以不同的方式处理不同的状态代码?

【问题讨论】:

    标签: python python-2.7 python-requests splunk http-error


    【解决方案1】:

    您可以尝试增加 http 调用代码的超时时间,这应该可以解决或帮助解决问题。

    https://www.lifewire.com/504-gateway-timeout-error-explained-2622941

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-17
      • 1970-01-01
      • 1970-01-01
      • 2021-09-02
      • 2020-11-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多