在編程的時候,我們難免會遇到一些不可靠的情況,比如網絡請求失敗,數據庫連接超時等等。這些不確定性會讓我們的程序容易出現各種錯誤和異常。那么如何來增加程序的容錯性和健壯性呢?
可能大多數人會想到使用try except來進行異常捕捉進行失敗重試(Retry)。雖然try-escept一個非常常見和有效的方式來增強程序穩定性,但是可能一不小心就會造成棧溢出。
所以接下來我就來介紹一個另外的一個專門用于失敗重試的庫:retrying
。
定義
在Python生態中,retrying庫提供了非常便捷的裝飾器和函數來幫助我們輕松添加失敗重試機制。它可以自定義重試策略、停止條件、等待間隔等,對各種異常進行捕捉處理。使用retrying可以大大減少我們重復編寫失敗重試輪詢的代碼量。
下載retrying
pip install retrying
無參數重試
我們可以直接在函數上使用裝飾器@retry
來進行失敗重試
import retrying
@retry
def func():
for item in range(0,100):
result=item / 0
print(result)
return result
func()
但是這種方式并不建議使用,就像上面的代碼,我們都知道0作為除數就會報錯,在上面的func函數中,因為加了@retry
裝飾器進行失敗重試,這樣就就會進入一個死循環一直失敗一直重試。
所以我們在進行失敗重試的時候最好是需要加上一些參數來限制失敗重試。
-
編程
+關注
關注
88文章
3682瀏覽量
94881 -
數據庫
+關注
關注
7文章
3901瀏覽量
65785 -
python
+關注
關注
56文章
4825瀏覽量
86213
發布評論請先 登錄
【建議收藏】Python庫大全
自定義Python PyPI存儲庫
關于《Python編程入門系列教程》說明及教程匯總
詳解Python中的Pandas和Numpy庫
關于python中非常實用的一個圖像處理庫 1
關于python中非常實用的一個圖像處理庫 2
如何安裝常用Python庫
Python中telnetlib模塊的基本使用
python有什么用 如何用python創建數據庫
python讀取數據庫數據 python查詢數據庫 python數據庫連接
Python庫中oloredlogs的使用

Python中retrying庫的有參數重試

評論