使用python请求增加504超时之前的时间
我正在使用requests模块查询一个相对较大的PostgRES数据库(~14gb),可以通过postgrestapi访问,该数据库托管在一个由对等方设置的简单服务器上 当我进行简单的API调用时,例如使用python请求增加504超时之前的时间,python,postgresql,timeout,python-requests,postgrest,Python,Postgresql,Timeout,Python Requests,Postgrest,我正在使用requests模块查询一个相对较大的PostgRES数据库(~14gb),可以通过postgrestapi访问,该数据库托管在一个由对等方设置的简单服务器上 当我进行简单的API调用时,例如 requests.get('https://api.nycdb.info/real_property_legals?bbl=eq.4043210050') 我得到200个回复,一切正常。然而,当我进行计算密集型搜索(如文本搜索)时,我绝大多数时间都会收到504个响应 这是一个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.get()的可用选项,请参阅pydoc requests.request。)API服务器端可能也有一些限制,以防您可能需要将查询分解成小块 如果您阅读文档中的请求,您将看到requests.get默认情况下不会超时 此外,504是网关服务器产生的错误 所以,实际发生的情况是,您的postgres服务器在与您的postgres服务器通信时超时 您无法通过更改请求来停止此操作。如果要获取调用,您必须重新配置一台或两台服务器 (换句话说,这不是python或请求问题)