http請(qǐng)求 request失敗自動(dòng)重新嘗試代碼示例
本文研究的主要是http請(qǐng)求 request失敗自動(dòng)重新嘗試的一個(gè)例子,具體如下。
需求
最近開(kāi)發(fā)一個(gè)項(xiàng)目,要實(shí)現(xiàn)的一個(gè)場(chǎng)景是對(duì)于某個(gè)http請(qǐng)求,如果請(qǐng)求失敗,需要再自動(dòng)嘗試幾次,并記錄異常原因便于排查
代碼實(shí)現(xiàn)
#http連接有問(wèn)題時(shí)候,自動(dòng)重連
def conn_try_again(function):
RETRIES = 0
#重試的次數(shù)
count = {"num": RETRIES}
def wrapped(*args, **kwargs):
try:
return function(*args, **kwargs)
except Exception, err:
if count['num'] < 2:
count['num'] += 1
return wrapped(*args, **kwargs)
else:
raise Exception(err)
return wrapped
@conn_try_again
def http_request(session, method, url, data, header = header):
try:
if method == 'GET':
r = session.get(url, data = data, headers = header)
return r
elif method == 'POST':
r = session.post(url, data = data, headers = header)
return r
else:
return None
except Exception as e:
logging.exception('[online_statistics] http request connection error %s'% e)
總結(jié)
以上就是本文關(guān)于http請(qǐng)求 request失敗自動(dòng)重新嘗試代碼示例的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專(zhuān)題,如有不足之處,歡迎留言指出。感謝朋友們對(duì)本站的支持!
相關(guān)文章
Python3將數(shù)據(jù)保存為txt文件的方法
這篇文章主要介紹了Python3將數(shù)據(jù)保存為txt文件的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09
Python學(xué)習(xí)之名字,作用域,名字空間(下)
這篇文章主要介紹了Python學(xué)習(xí)之名字,作用域,名字空間,緊接上一篇文章內(nèi)容展開(kāi)全文,需要的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助2022-05-05
python requests證書(shū)問(wèn)題解決
這篇文章主要介紹了python requests證書(shū)問(wèn)題解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09
Flask框架請(qǐng)求鉤子與request請(qǐng)求對(duì)象用法實(shí)例分析
這篇文章主要介紹了Flask框架請(qǐng)求鉤子與request請(qǐng)求對(duì)象用法,結(jié)合實(shí)例形式詳細(xì)分析了Flask框架請(qǐng)求鉤子與request請(qǐng)求對(duì)象相關(guān)原理、用法及操作注意事項(xiàng),需要的朋友可以參考下2019-11-11
nohup后臺(tái)啟動(dòng)Python腳本,log不刷新的解決方法
今天小編就為大家分享一篇nohup后臺(tái)啟動(dòng)Python腳本,log不刷新的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-01-01

