国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 迭部县| 安阳市| 利津县| 泾阳县| 陆川县| 孟村| 常熟市| 六枝特区| 厦门市| 彝良县| 通辽市| 宜丰县| 阿勒泰市| 延长县| 德令哈市| 托克逊县| 荥阳市| 内黄县| 乌苏市| 咸丰县| 建阳市| 日喀则市| 佛坪县| 正宁县| 吉林省| 湾仔区| 濉溪县| 澄江县| 黑龙江省| 莆田市| 台东县| 屏山县| 南澳县| 和静县| 怀安县| 聂拉木县| 博客| 扎赉特旗| 江口县| 永登县| 沿河|