国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python自動重試第三方包retrying模塊的方法

2020-02-22 23:50:38
字體:
供稿:網(wǎng)友

retrying是一個python的重試包,可以用來自動重試一些可能運行失敗的程序段,retrying提供一個裝飾器函數(shù)retry,被裝飾的函數(shù)就會在運行失敗的情況下重新執(zhí)行,默認(rèn)只要一直報錯就會不斷重試。

最近寫了一個爬蟲,需要連接國外的一個網(wǎng)站,經(jīng)常出現(xiàn)掉線的情況,自己寫了一個自動重連的代碼,但感覺不夠簡潔。。。

后來就上萬能的github,找到了一個第三包,基本能滿足我的要求。這個第三方包就是retrying.

我的需求就是每當(dāng)出現(xiàn)request相關(guān)異常的時候,就自動重來,上限連接10次;使用代碼如下:

 from retrying import retry def is_request_exception(e):   return issubclass(type(e),RequestException) @retry(retry_on_exception=is_request_exception,wrap_exception=False, stop_max_attempt_number=10) def request_get(url, timeout=120):   return requests.get(url, timeout=120)

剛開始用的時候,也遇到一些坑,就是在request_get用了try..except,導(dǎo)致不成功。后來刪除就可以了。。。

我理解,在retring包中,已經(jīng)有exception處理了,如果你的代碼中有了exception處理,retring就沒有捕獲異常,就沒法達(dá)到期望的結(jié)果了。

retrying還有非常多的自定義參數(shù),如果等待時長控制,總共等待時間控制等等,暫時還沒有這么特別的要求,等需要的時候,我再去研究一下。

總結(jié)

以上所述是小編給大家介紹的python自動重試第三方包retrying模塊的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對武林站長站網(wǎng)站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 丹阳市| 玉田县| 广州市| 若尔盖县| 保定市| 乌海市| 陵川县| 信宜市| 叙永县| 临海市| 台北市| 吉安市| 古交市| 瓮安县| 柏乡县| 西乌珠穆沁旗| 永顺县| 敖汉旗| 开封市| 东至县| 拉孜县| 封开县| 罗田县| 瑞昌市| 星子县| 永安市| 响水县| 武定县| 当阳市| 麻阳| 巫山县| 瓦房店市| 南丹县| 竹北市| 吉林省| 山西省| 泸定县| 阜城县| 台中县| 宣武区| 成都市|