当前位置: 首页 > news >正文

青岛网站设计哪家公司自己切片做网站

青岛网站设计哪家公司,自己切片做网站,一般做个网站要多少钱,3建设营销型网站流程图tenacity是一个 Python 库,用于简化重试逻辑的实现。它提供了装饰器和工具函数,使得在函数执行失败时可以自动重试。以下是对tenacity库的详细介绍: 一、安装 可以使用pip安装tenacity: pip install tenacity二、主要概念和功能…

tenacity是一个 Python 库,用于简化重试逻辑的实现。它提供了装饰器和工具函数,使得在函数执行失败时可以自动重试。以下是对tenacity库的详细介绍:

一、安装

可以使用pip安装tenacity

pip install tenacity

二、主要概念和功能

  1. 装饰器

    • @retry:这是最常用的装饰器,用于在函数执行失败时自动重试。可以通过参数配置重试的条件、次数、延迟等。
    • @retry_always:无论函数执行结果如何,始终重试。
    • @retry_if_exception_type:根据异常类型决定是否重试。例如,可以指定只在特定类型的异常发生时重试。
  2. 重试条件

    • retry(wait=...):指定重试之间的等待时间。可以使用内置的等待策略,如指数退避(wait_exponential)、固定等待时间(wait_fixed)等。
    • retry(stop=...):定义重试的停止条件。可以设置最大重试次数(stop_max_attempt_number)、最大等待时间(stop_max_delay)等。
    • retry(retry=...):自定义重试的条件函数。该函数接收一个参数,表示上一次执行的结果,如果返回True则重试,否则停止。
  3. 异常处理

    • retry_if_exception_type(...):指定在特定类型的异常发生时重试。可以传入一个或多个异常类型。
    • retry_if_not_result(...):根据函数的返回值决定是否重试。例如,可以检查返回值是否为None或满足其他条件。
  4. 回调函数

    • retry(after=...):在每次重试后执行一个回调函数。可以用于记录日志、发送通知等。
    • retry(before=...):在每次重试前执行一个回调函数。可以用于准备资源、设置状态等。

三、使用示例

  1. 基本重试:
import tenacity
import random@tenacity.retry
def some_function():result = random.randint(1, 10)if result < 5:raise Exception("Failed.")else:return resulttry:print(some_function())
except Exception as e:print(f"Final failure: {e}")

在这个例子中,some_function会在返回值小于 5 时抛出异常并自动重试,直到返回值大于等于 5。

  1. 自定义重试条件和等待时间:
import tenacity
import timedef is_failure(result):return result is False@tenacity.retry(wait=tenacity.wait_fixed(2), retry=tenacity.retry_if_result(is_failure))
def another_function():result = random.choice([True, False])print(f"Result: {result}")return resulttry:another_function()
except Exception as e:print(f"Final failure: {e}")

在这个例子中,another_function会在返回值为False时重试,每次重试之间等待 2 秒。自定义的重试条件函数is_failure根据返回值决定是否重试。

  1. 使用回调函数:
import tenacity
import loggingdef log_retry(retry_state):logging.info(f"Retrying {retry_state.fn.__name__}, attempt #{retry_state.attempt_number}")@tenacity.retry(wait=tenacity.wait_exponential(multiplier=1, min=2, max=10), after=log_retry)
def yet_another_function():result = random.randint(1, 10)if result < 5:raise Exception("Failed.")else:return resulttry:yet_another_function()
except Exception as e:print(f"Final failure: {e}")

在这个例子中,yet_another_function在失败时会按照指数退避策略重试,每次重试后会调用log_retry回调函数记录重试信息。

http://www.yayakq.cn/news/443589/

相关文章:

  • 网站建设的开票编码网络工程师可能自学吗
  • 做家常菜的网站哪个好脚上起小水泡很痒是什么原因
  • 郴州网站小程序制作网站的app
  • 郑州专业建网站最便宜做网站的方法
  • 成都建设高端网站wordpress 评论排序
  • 企业网站建设综合实训心得惠州品牌网站建设价格
  • idea制作网站电影网站开发库表结构
  • 网站工作有哪些内容wordpress 无响应
  • 网站被抓取网页设计模板html代码教程图片
  • 高校网站建设与管理问题分析百度站内搜索的方法
  • 普洱北京网站建设深圳品牌网站
  • 可以兼职做设计的网站怎样做才能让百度搜到网站产品
  • 沈阳的网站制作公司哪家好食品行业网站建设
  • 工作做ppt课件的网站桂林网站设计制作
  • 网站后台生成htmlwordpress 影院
  • 电商网站建设 数商云win2008 iis网站发布
  • 有声直播网站建设公司介绍页面设计
  • 网站开发软件教程网站建设客户开发方法
  • 有.net源码如何做网站找聊城做网站
  • 公司的网站建设是什么部门网站建设具体方案
  • 杭州制作网站的公司wordpress 多博客
  • 产品如何在网上推广杭州优化外包
  • 网站开发流程人物网站关键词怎么添加
  • 网站编辑电子商务网站运营专员中国电子商务公司排名
  • 怎么建设音乐试听网站wordpress修改阅读量
  • 响应式网站怎样做网站做ppt模板下载
  • 做外贸哪个网站可以接单上海网络推广教程
  • 百度怎么推广网站wordpress托管服务器
  • 网站结构怎么做互联网金融p2p网站建设
  • 电影网站做淘宝联盟江门公司网站建设