最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python包實現(xiàn)?retrying?重復(fù)回調(diào)操作

 更新時間:2022年04月19日 17:32:05   作者:autofelix?  
這篇文章主要介紹了python包實現(xiàn)?retrying?重復(fù)回調(diào)操作,文章python的相關(guān)資料展開對retrying?重復(fù)回調(diào)的詳細(xì)介紹,需要的小伙伴可以參考一下,希望對你的學(xué)習(xí)有所幫助

一、安裝

  • 循環(huán)、重復(fù)回調(diào)我們在很多場景中會用到
  • 不僅在支付場景中,我們需要通過反復(fù)的回調(diào)知道用戶的支付狀態(tài)
  • 還有在請求中,如果請求失敗,我們需要再重新進行進行請求,防止請求異常導(dǎo)致數(shù)據(jù)缺失
pip install retrying

二、一直請求

  • 假如我們希望在代碼碰到異常時,一直回調(diào),直到成功
  • 下面方法中,我們直接訪問一個未定義的變量,肯定會走下面的Exception中
  • 這個時候我們可以將這一次錯誤寫進日志,但是讓程序繼續(xù)執(zhí)行這個方法,直到?jīng)]有異常為止
  • 因為這里模擬的是肯定有異常,所以該程序會一直返回回調(diào),不間斷的循環(huán)往復(fù)
from retrying import retry

@retry()
def say():
try:
autofelix
except Exception as e:
# 可以將錯誤記錄日志
print(e)
raise

say()

三、設(shè)置最大運行次數(shù)

  • 如果我們在請求中遇到異常時候
  • 可以通過 stop_max_attempt_number 設(shè)置一個最大運行次數(shù)
  • 當(dāng)回調(diào)次數(shù)超過設(shè)置值,將不再執(zhí)行回調(diào)
  • 這里我們設(shè)置最大運行次數(shù)為5次
from retrying import retry

@retry(stop_max_attempt_number=5)
def say():
try:
autofelix
except Exception as e:
# 可以將錯誤記錄日志
print(e)
raise

say()

四、設(shè)置重試的最大時間

  • 可以通過stop_max_delay 設(shè)置失敗重試的最大時間, 單位毫秒
  • 超出時間,則停止重試
from retrying import retry

@retry(stop_max_delay=1000)
def say():
try:
autofelix
except Exception as e:
# 可以將錯誤記錄日志
print(e)
raise

say()

五、設(shè)置間隔時間

  • 設(shè)置失敗重試的間隔時間, 單位毫秒
  • 降低回調(diào)頻率
from retrying import retry

@retry(wait_fixed=1000)
def say():
try:
autofelix
except Exception as e:
# 可以將錯誤記錄日志
print(e)
raise

say()

六、設(shè)置隨機間隔時間

  • 設(shè)置失敗重試隨機性間隔時間, 單位毫秒
  • 可以使得訪問頻率不均勻
from retrying import retry

@retry(wait_random_min=5000, wait_random_max=50000)
def say():
try:
autofelix
except Exception as e:
# 可以將錯誤記錄日志
print(e)
raise

say()

七、隨機倍數(shù)間隔時間

  • 可以通過設(shè)置wait_exponential_multiplier 間隔時間倍數(shù)增加
  • 可以通過設(shè)置wait_exponential_max 最大間隔時間
from retrying import retry

@retry(wait_exponential_multiplier=1000, wait_exponential_max=10000)
def say():
try:
autofelix
except Exception as e:
# 可以將錯誤記錄日志
print(e)
raise

say()

八、指定異常類型

  • 可以通過retry_on_exception 設(shè)置指定異常類型
  • 指定的異常類型會重試,不指定的類型,會直接異常退出
  • 如果設(shè)置 wrap_exception 參數(shù)為True,則其他類型異常
from retrying import retry

def retry_error(exception):
return isinstance(exception, RetryError)

# 會重復(fù)調(diào)用
@retry(etry_on_exception=retry_error)
def say():
try:
autofelix
except RetryError as e:
raise RetryError

# 只調(diào)用一次
@retry(etry_on_exception=retry_error, wrap_exception=True)
def say():
raise Exception('a')

say()

九、過濾回調(diào)

  • 可以設(shè)置retry_on_result 指定哪些結(jié)果需要去回調(diào)
  • 將請求結(jié)果放到 retry_on_result 指定方法中進行過濾,如果返回None,則繼續(xù)回調(diào),否則就結(jié)束
from retrying import retry

def retry_filter(result):
print("this is result")
return result is not None

@retry(retry_on_result=retry_filter)
def say():
print('Retry forever ignoring Exceptions with no wait if return value is None')
return None

say()

十、異常執(zhí)行

  • 通過設(shè)置stop_func 每次拋出異常時都會執(zhí)行的函數(shù)
  • 如果和stop_max_delay、stop_max_attempt_number配合使用,則后兩者會失效
from retrying import retry

def stop_record(attempts, delay):
print("logging %d--->%d" % (attempts,delay))

@retry(stop_max_delay=10, stop_func=stop_record)
def say():
print("i am autofelix")
raise Exception

say()

到此這篇關(guān)于python 包之 retrying 重復(fù)回調(diào)的文章就介紹到這了,更多相關(guān)python retrying 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • PyQt5+pycharm開發(fā)環(huán)境搭建的實現(xiàn)步驟(圖文)

    PyQt5+pycharm開發(fā)環(huán)境搭建的實現(xiàn)步驟(圖文)

    本文針對創(chuàng)建PyQt運行環(huán)境+PyCharm開發(fā)環(huán)境的過程進行記錄,文中通過圖片示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • python flask框架實現(xiàn)重定向功能示例

    python flask框架實現(xiàn)重定向功能示例

    這篇文章主要介紹了python flask框架實現(xiàn)重定向功能,結(jié)合實例形式分析了flask框架重定向功能的實現(xiàn)與使用方法,需要的朋友可以參考下
    2019-07-07
  • 深入解析python項目引用運行路徑

    深入解析python項目引用運行路徑

    這篇文章主要介紹了python項目引用運行路徑的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05
  • Django1.11自帶分頁器paginator的使用方法

    Django1.11自帶分頁器paginator的使用方法

    這篇文章主要為大家詳細(xì)介紹了Django1.11自帶分頁器Django的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • Python安裝Numpy出現(xiàn)異常信息簡單解決辦法

    Python安裝Numpy出現(xiàn)異常信息簡單解決辦法

    在安裝Python的Numpy包時,可能會遇到路徑警告或包源超時的問題,首先,如果出現(xiàn)包源超時,可以嘗試更換為國內(nèi)的鏡像源,如清華大學(xué)鏡像源,其次,如果在安裝完成后提示將某個路徑添加到PATH環(huán)境變量,按照提示操作即可消除異常,需要的朋友可以參考下
    2024-09-09
  • Python實現(xiàn)字符型圖片驗證碼識別完整過程詳解

    Python實現(xiàn)字符型圖片驗證碼識別完整過程詳解

    這篇文章主要介紹了Python實現(xiàn)字符型圖片驗證碼識別完整過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • python函數(shù)存儲在模塊的優(yōu)點及用法總結(jié)

    python函數(shù)存儲在模塊的優(yōu)點及用法總結(jié)

    在本篇文章里小編給大家整理了一篇關(guān)于python函數(shù)存儲在模塊的優(yōu)點及用法相關(guān)內(nèi)容,有興趣的朋友們可以跟著學(xué)習(xí)下。
    2021-10-10
  • 對python3 Serial 串口助手的接收讀取數(shù)據(jù)方法詳解

    對python3 Serial 串口助手的接收讀取數(shù)據(jù)方法詳解

    今天小編就為大家分享一篇對python3 Serial 串口助手的接收讀取數(shù)據(jù)方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Python實現(xiàn)將doc轉(zhuǎn)化pdf格式文檔的方法

    Python實現(xiàn)將doc轉(zhuǎn)化pdf格式文檔的方法

    這篇文章主要介紹了Python實現(xiàn)將doc轉(zhuǎn)化pdf格式文檔的方法,結(jié)合實例形式分析了Python實現(xiàn)doc格式文件讀取及轉(zhuǎn)換pdf格式文件的操作技巧,以及php調(diào)用py文件的具體實現(xiàn)方法,需要的朋友可以參考下
    2018-01-01
  • Python處理字符串中文(漢字)編碼的實例

    Python處理字符串中文(漢字)編碼的實例

    這篇文章主要介紹了Python處理字符串中文(漢字)編碼的實例,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04

最新評論

湟中县| 通化市| 迭部县| 阳朔县| 徐水县| 托克逊县| 永康市| 荆门市| 乌拉特前旗| 海淀区| 莱西市| 阿拉善左旗| 河北省| 牙克石市| 吉木乃县| 金阳县| 通榆县| 合阳县| 桃江县| 甘孜| 湖南省| 太仆寺旗| 定陶县| 昌宁县| 叶城县| 泊头市| 桦甸市| 清丰县| 黔南| 甘泉县| 水富县| 玛纳斯县| 江北区| 上蔡县| 乐陵市| 竹山县| 邯郸市| 同仁县| 铁岭市| 龙里县| 谷城县|