繁体   English   中英

使用python请求增加504超时之前的时间

[英]Increasing time before 504 time-out using python requests

我正在使用请求模块查询相对较大的PostgRES数据库(〜14 GB),可通过PostgREST API访问该数据库,该数据库托管在对等方设置的简单服务器上。

当我进行简单的API调用时,例如

requests.get('https://api.nycdb.info/real_property_legals?bbl=eq.4043210050')

我收到200条回复,并且一切正常。 但是,当我进行更多的计算密集型搜索(例如文本搜索)时,绝大多数时候会得到504个响应。

这是API调用的示例,该调用几乎总是返回504超时:

requests.get('https://api.nycdb.info/real_property_parties?address1=@@."MADISON"')

我怀疑这是因为服务器的简单处理能力和数据库大小,因此响应速度不够快。 但是,我在这里向社区寻求帮助。

有没有一种方法可以增加提供504响应之前请求等待响应的时间? 我还能做些什么来尝试提高更复杂查询的可靠性?

您可以添加,timeout =,其中秒是浮点数。 (请参阅pydoc request.request以获取可以直接提供给pydoc.get()的可用选项。)在快速情况下,API服务器端可能也有限制,您可能需要将查询分解成小块大小。

如果您阅读请求文档,则默认情况下,requests.get不会超时。

另外,504是网关服务器产生的错误。

因此,实际上发生的是您的PostGREST服务器与Postgres服务器的通信超时。

您不能通过更改request.get调用来停止此操作,而必须重新配置一台或两台服务器。

(换句话说,这不是python或请求问题)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM