本文研究的主要是http請求 request失敗自動重新嘗試的一個例子,具體如下。
需求
最近開發一個項目,要實現的一個場景是對于某個http請求,如果請求失敗,需要再自動嘗試幾次,并記錄異常原因便于排查
代碼實現
#http連接有問題時候,自動重連def conn_try_again(function): RETRIES = 0 #重試的次數 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_againdef 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)總結
以上就是本文關于http請求 request失敗自動重新嘗試代碼示例的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!
新聞熱點
疑難解答