在發明者量化api文件中發現了一種特別有趣的重試寫法
發明者量化api文件
感覺這種寫法特別方便又特別有意思,奈何fmz並不開源,於是自己寫了一版,重試間隔、重試次數,我這裡重試通過判斷返回值是否為none,當然也可以通過捕捉異常來決定是否重試。
關於__new__的用法可以參考
import time
class _c(object):
# delay重試間隔 retry重試次數
def __new__(cls, func, *args, delay=3, retry=3):
while retry:
res = func(*args)
if res != none:
return res
else:
retry -= 1
time.sleep(delay)
def test_1(a, b):
return a + b
def test_2():
return 3
obj_1 = _c(test_1, 1, 2, delay=5)
obj_2 = _c(test_2)
print(obj_1, obj_2)
封裝 axios 實現自動重試
為什麼寫這個題目呢?因為之前寫的乙個 node 程式有點小問題,使用的 axios 通過 請求資料,伺服器 阿布雲 時不時抽風 407 413 503 因為第一次寫的時候當做乙個 demo 去實現的,寫的挺簡陋,只能說大體功能對,但是沒有容錯機制。這裡我們先算一筆帳啊,一次請求等於 1 100 次,...
python中的重試
安裝 pip install retrying retry 裝飾器會對函式不斷的重試 預設無限重試 retry def pick one print pick t random.randint 0,2 print t if t 1 raise exception 1 is not picked if...
Python出錯重試 retrying
在編寫python 進行自動化測試 網路爬蟲或者其他與網路相關的動作的時候,由於網路影響會容易失敗,而這種失敗並不是我們需要去處理的。那麼這種時候最好的辦法就是失敗後重試幾次,以避免網路的間斷性影響。如果我們正常編寫 的話,可能需要 try except 但是這種寫法很麻煩,能實現的效果也很單一。這...