电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

關(guān)于Python錯(cuò)誤重試方法總結(jié)

瀏覽:79日期:2022-06-30 15:50:27
前言

Tenacity是一個(gè) Apache 2.0授權(quán)的通用重試庫(kù),用 Python 編寫,用于簡(jiǎn)化向幾乎所有內(nèi)容添加重試行為的任務(wù)。它起源于一個(gè)重新嘗試的分支,可惜這個(gè)分支已經(jīng)不復(fù)存在了。使用Tenacity可以用來(lái)進(jìn)行測(cè)試用例的重跑,爬蟲腳本的重跑,以及搶票的失敗重?fù)尩鹊取!!?梢允褂玫膱?chǎng)景也是比較多。

使用

首先安裝Tenacity

pip install Tenacity

無(wú)限重試

第一個(gè)重試案例,因?yàn)橐恢笔菕伋霎惓ee(cuò)誤,所以無(wú)限進(jìn)行重試執(zhí)行

from tenacity import retry@retry()def test_retry():print(’失敗重試中’) raise Exception test_retry()

關(guān)于Python錯(cuò)誤重試方法總結(jié)

成功則停止

我們來(lái)優(yōu)化成功一次后程序則終止,否則繼續(xù)重試。

from tenacity import retryimport random@retry()def test_retry(): if random.randint(0,10) > 1: print(’失敗重試中’) raise Exception else: print(’成功’)test_retry()

關(guān)于Python錯(cuò)誤重試方法總結(jié)

重試次數(shù)

畢竟一直重試需要消耗很多資源,所以我們可以設(shè)置一些重試的次數(shù),比如在失敗多少次后停止重試,不管有沒(méi)有成功。

from tenacity import retry,stop_after_attemptimport random@retry(stop=stop_after_attempt(7))def test_retry(): # if random.randint(0,10) > 1: print(’失敗重試中’) raise Exception # else: # print(’成功’)test_retry()

關(guān)于Python錯(cuò)誤重試方法總結(jié)

重試時(shí)間

也可以設(shè)置執(zhí)行的時(shí)間

from tenacity import retry,stop_after_attempt,stop_after_delayimport randomfrom time import sleep@retry(stop=stop_after_delay(3))def test_retry(): # if random.randint(0,10) > 1: sleep(1) print(’失敗重試中’) raise Exception # else: # print(’成功’)test_retry()

關(guān)于Python錯(cuò)誤重試方法總結(jié)

條件組合

甚至可以使用多個(gè)組合條件進(jìn)行停止,哪個(gè)條件先觸發(fā)則執(zhí)行哪個(gè)

from tenacity import retry,stop_after_attempt,stop_after_delayimport randomfrom time import sleep@retry(stop=stop_after_delay(3) | stop_after_attempt(2))def test_retry(): # if random.randint(0,10) > 1: sleep(1) print(’失敗重試中’) raise Exception # else: # print(’成功’)test_retry()

關(guān)于Python錯(cuò)誤重試方法總結(jié)

重試間隔

重試之間的間隔時(shí)間太短,所以讓我們?cè)谥卦囍g等待2秒鐘

from tenacity import retry,stop_after_attempt,stop_after_delay,wait_fixedimport randomimport time@retry(wait=wait_fixed(2))def test_retry(): # if random.randint(0,10) > 1: print(’失敗重試中’) print(time.ctime()) raise Exception # else: # print(’成功’)test_retry()

關(guān)于Python錯(cuò)誤重試方法總結(jié)

重試隨機(jī)間隔

我們還可以設(shè)置一些等待時(shí)間范圍

from tenacity import retry,stop_after_attempt,stop_after_delay,wait_fixed,wait_randomimport randomimport time@retry(wait=wait_random(min=1,max=2))def test_retry(): # if random.randint(0,10) > 1: print(’失敗重試中’) print(time.ctime()) raise Exception # else: # print(’成功’)test_retry()

關(guān)于Python錯(cuò)誤重試方法總結(jié)

重試前日志

在執(zhí)行之前打印日志

from tenacity import retry,stop_after_attempt,before_logimport loggingimport syslogging.basicConfig(stream=sys.stderr,level=logging.DEBUG)logger = logging.getLogger(__name__)@retry(stop=stop_after_attempt(3),before=before_log(logger,logging.DEBUG))def test_retry(): print(’失敗重試中’) raise Exception(’Fail’)test_retry()

關(guān)于Python錯(cuò)誤重試方法總結(jié)

重試后日志

那么相同的,可以在執(zhí)行失敗后打印日志

from tenacity import retry,stop_after_attempt,after_logimport loggingimport syslogging.basicConfig(stream=sys.stderr,level=logging.DEBUG)logger = logging.getLogger(__name__)@retry(stop=stop_after_attempt(3),after=after_log(logger,logging.DEBUG))def test_retry(): print(’失敗重試中’) raise Exception(’Fail’)test_retry()

關(guān)于Python錯(cuò)誤重試方法總結(jié)

基本常用的功能就這些了,如果有需要深入了解的可以訪問(wèn)github地址:https://github.com/jd/tenacity

到此這篇關(guān)于關(guān)于Python錯(cuò)誤重試方法總結(jié)的文章就介紹到這了,更多相關(guān)Python錯(cuò)誤重試方法內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: PVC地板|PVC塑胶地板|PVC地板厂家|地板胶|防静电地板-无锡腾方装饰材料有限公司-咨询热线:4008-798-128 | 合肥活动房_安徽活动板房_集成打包箱房厂家-安徽玉强钢结构集成房屋有限公司 | 苹果售后维修点查询,苹果iPhone授权售后维修服务中心 – 修果网 拼装地板,悬浮地板厂家,悬浮式拼装运动地板-石家庄博超地板科技有限公司 | 药品冷藏箱厂家_低温冰箱_洁净工作台-济南欧莱博电子商务有限公司官网 | 骁龙云呼电销防封号系统-axb电销平台-外呼稳定『免费试用』 | 无缝方管|无缝矩形管|无缝方矩管|无锡方管厂家 | 杭州标识标牌|文化墙|展厅|导视|户内外广告|发光字|灯箱|铭阳制作公司 - 杭州标识标牌|文化墙|展厅|导视|户内外广告|发光字|灯箱|铭阳制作公司 | 超声骨密度仪,双能X射线骨密度仪【起草单位】,骨密度检测仪厂家 - 品源医疗(江苏)有限公司 | 【MBA备考网】-2024年工商管理硕士MBA院校/报考条件/培训/考试科目/提前面试/考试/学费-MBA备考网 | 精雕机-火花机-精雕机 cnc-高速精雕机-电火花机-广东鼎拓机械科技有限公司 | 定量包装机,颗粒定量包装机,粉剂定量包装机,背封颗粒包装机,定量灌装机-上海铸衡电子科技有限公司 | 宝元数控系统|对刀仪厂家|东莞机器人控制系统|东莞安川伺服-【鑫天驰智能科技】 | 离子色谱自动进样器-青岛艾力析实验科技有限公司 | 高压无油空压机_无油水润滑空压机_水润滑无油螺杆空压机_无油空压机厂家-科普柯超滤(广东)节能科技有限公司 | 天津暖气片厂家_钢制散热器_天津铜铝复合暖气片_维尼罗散热器 | 除湿机|工业除湿机|抽湿器|大型地下室车间仓库吊顶防爆除湿机|抽湿烘干房|新风除湿机|调温/降温除湿机|恒温恒湿机|加湿机-杭州川田电器有限公司 | 成都亚克力制品,PVC板,双色板雕刻加工,亚克力门牌,亚克力标牌,水晶字雕刻制作-零贰捌广告 | 青州开防盗门锁-配汽车芯片钥匙-保险箱钥匙-吉祥修锁店 | 正压送风机-多叶送风口-板式排烟口-德州志诺通风设备 | 标准件-非标紧固件-不锈钢螺栓-非标不锈钢螺丝-非标螺母厂家-三角牙锁紧自攻-南京宝宇标准件有限公司 | UV-1800紫外光度计-紫外可见光度计厂家-翱艺仪器(上海)有限公司 | 钢结构厂房造价_钢结构厂房预算_轻钢结构厂房_山东三维钢结构公司 | 高压绝缘垫-红色配电房绝缘垫-绿色高压绝缘地毯-上海苏海电气 | 郑州墨香品牌设计公司|品牌全案VI设计公司 | 抖音短视频运营_企业网站建设_网络推广_全网自媒体营销-东莞市凌天信息科技有限公司 | 超声波反应釜【百科】-以马内利仪器 | 潍坊青州古城旅游景点攻略_青州酒店美食推荐-青州旅游网 | 石膏基自流平砂浆厂家-高强石膏基保温隔声自流平-轻质抹灰石膏粉砂浆批发-永康市汇利建设有限公司 | 首页|专注深圳注册公司,代理记账报税,注册商标代理,工商变更,企业400电话等企业一站式服务-慧用心 | 户外环保不锈钢垃圾桶_标识标牌制作_园林公园椅厂家_花箱定制-北京汇众环艺 | 真空泵厂家_真空泵机组_水环泵_旋片泵_罗茨泵_耐腐蚀防爆_中德制泵 | 施工电梯_齿条货梯_烟囱电梯_物料提升机-河南大诚机械制造有限公司 | OLChemim试剂-ABsciex耗材-广州市自力色谱科仪有限公司 | 工业洗衣机_工业洗涤设备_上海力净工业洗衣机厂家-洗涤设备首页 bkzzy在职研究生网 - 在职研究生招生信息咨询平台 | 太空舱_民宿太空舱厂家_移动房屋太空舱价格-豪品建筑 | 钢绞线万能材料试验机-全自动恒应力两用机-混凝土恒应力压力试验机-北京科达京威科技发展有限公司 | 上海平衡机-单面卧式动平衡机-万向节动平衡机-圈带动平衡机厂家-上海申岢动平衡机制造有限公司 | 硅胶管挤出机厂家_硅胶挤出机生产线_硅胶条挤出机_臣泽智能装备 贵州科比特-防雷公司厂家提供贵州防雷工程,防雷检测,防雷接地,防雷设备价格,防雷产品报价服务-贵州防雷检测公司 | 陕西鹏展科技有限公司 | 胶泥瓷砖胶,轻质粉刷石膏,嵌缝石膏厂家,腻子粉批发,永康家德兴,永康市家德兴建材厂 | 我爱古诗词_古诗词名句赏析学习平台|