【问题标题】:Python function with request might hang, how to timeout?带有请求的 Python 函数可能会挂起,如何超时?
【发布时间】:2020-06-18 04:02:30
【问题描述】:

我正在构建一个脚本来使用 O365 模块 (https://pypi.org/project/O365/) 处理消息。 该脚本运行良好,但由于某种原因,在随机时间(通常大约 20 小时)之后,它卡在没有响应的请求上,并且脚本只是挂在那里等待响应。

这不是服务器限制问题,因为我已将脚本减慢到每分钟一个请求,但它仍然挂起。

我认为这可能是 O365 模块中的一个错误,它不会使请求超时,所以我正在考虑在单独的线程上进行调用,如果它在一定时间内没有返回,请杀死它。 但据我了解,如果我只是尝试加入线程,它会尝试等到它完成(永远不会),有没有办法避免这种情况?

谢谢!

【问题讨论】:

  • 为了帮助您,请在您的问题中提供一些代码

标签: python multithreading request timeout


【解决方案1】:

您可以使用多线程和join 方法。正如文档中所解释的:“这会阻塞调用线程,直到调用其 join() 方法的线程终止 - 正常或通过未处理的异常 - 或直到发生可选超时。” 您的请求将因已完成或已达到最大时间限制而终止。

【讨论】:

    猜你喜欢
    • 2014-06-27
    • 2022-01-25
    • 2012-01-28
    • 1970-01-01
    • 2015-02-21
    • 2011-12-22
    • 2021-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多