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

2024-05-16 02:53:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用requests模块查询一个相对较大的PostgRES数据库(约14gb),该数据库可以通过PostgREST API访问,托管在对等服务器上。在

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

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

我收到了200条回复,一切正常。然而,当我进行更多计算密集型搜索(例如文本搜索)时,大多数情况下我都会得到504个响应。在

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

^{pr2}$

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

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


Tags: 模块httpsinfo服务器api数据库getpostgrest
2条回答

如果你阅读了请求的文档,你会看到的请求.get默认情况下不超时。在

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

所以,实际发生的是,你的postgres服务器与你的postgres服务器的通信超时了。在

你不能通过改变你的请求.get调用,则必须重新配置一个或两个服务器。在

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

可以添加timeout=其中seconds是一个浮点值。(见pydoc请求。请求对于可直接提供给pydoc.get())在API服务器端也可能有一些限制,在这种情况下,您可能需要将查询分解成小块。在

相关问题 更多 >