针对requests.exceptions.ConnectionError的带backoff的Python变通方法

2024-09-28 23:05:49 发布

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

你好,我正在使用requests模块检查一些参数的状态(true或false)

我的问题是: 请求在raspberry pi上循环完成。任何时候我都会收到以下错误消息

requests.exceptions.ConnectionError: ('Connection aborted.', error(101, 'Network is unreachable'))

我的目标是有一个解决方案,程序不会停止与这个错误。节目应该继续

[我试过的]: 因此,我尝试了退避函数(https://pypi.org/project/backoff/)与最大尝试,但这不是解决办法后,一个较长的时间,我得到相同的错误

我认为增加最大尝试不是解决办法?或者我做了些错事或者我该怎么做

这是我的代码片段

import requests
import backoff

@backoff.on_exception(backoff.expo,requests.exceptions.ConnectionError,max_tries=20)

while (True):
 x = requests.get('http://192.xxx/getPlainValue/javascript.0.sendPictureFlag')

 if (x.text == "true"):
   #print "save pic..."
   subprocess.call("raspistill -hf -vf -w 640 -h 480 -o /home/xxx/capture.jpg"", shell=True)

如果发生了错误,我只是在没有得到我要求的照片时才注意到。我必须重新启动pi来重置python程序


Tags: 模块import程序true参数状态错误pi