如果我使用requests
远程api发出阻止请求,则该过程花费的时间太长,那么我的网站也将返回错误。我不希望那样发生。
这是我的阻止代码:
@app.route('/api')
def returnapi():
r = requests.get("http://dndchecker.railsroot.com/api?mobile_number=9876543210")
return r.text
我想r
将请求对象的值设置为False。
因此,您可以这样做:
@app.route('/api')
def returnapi():
try:
r = requests.get("http://dndchecker.railsroot.com/api?mobile_number=9876543210", timeout=my_timeout)
except (requests.exceptions.Timeout, requests.exceptions.ConnectionError) as err:
return 'Server taking too long. Try again later'
else:
return r.text
这将有助于您防止服务器花费太长时间。当然,您必须定义my_timeout
为要等待的最大值。我会警告您,不要将它设置得太低,尽管如此,您总会看到“服务器花费的时间太长。请稍后再试”。适当的时间完全取决于您作为服务的作者,您认为应该等待多长时间。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句