咨询公司ppt网站优化的基本思想

张小明 2026/1/2 11:15:13
咨询公司ppt,网站优化的基本思想,vps可以做wordpress和ssr,吴中区网站建设Tenacity 是一个用于 Python 的通用重试库#xff0c;旨在简化在函数调用失败时自动重试的逻辑#xff0c;提高程序的健壮性和容错能力。它特别适用于处理网络请求、数据库连接、外部 API 调用等可能因临时故障#xff08;如网络波动、服务暂时不可用#xff09;而失败的场…Tenacity 是一个用于 Python 的通用重试库旨在简化在函数调用失败时自动重试的逻辑提高程序的健壮性和容错能力。它特别适用于处理网络请求、数据库连接、外部 API 调用等可能因临时故障如网络波动、服务暂时不可用而失败的场景。核心作用简化重试逻辑通过装饰器或上下文管理器可以轻松为任何函数添加可配置的重试行为无需编写冗长的try-except循环。灵活的策略配置停止条件例如限制最大重试次数stop_after_attempt或总重试时间stop_after_delay。等待策略支持固定间隔wait_fixed、指数退避wait_exponential、随机间隔等以控制重试之间的延迟。重试条件可以指定仅在特定异常类型如IOError、ConnectionError或自定义返回值条件如返回False时才触发重试。支持异步与回调兼容异步代码协程并允许在重试前后执行自定义回调函数如记录日志。提升代码可读性将重试逻辑与业务逻辑分离使代码更清晰、易于维护。安装pipinstalltenacity代码示例以下是几个典型的使用场景示例。示例 1基本重试网络请求在请求失败时最多重试 3 次每次间隔 2 秒。importrequestsfromtenacityimportretry,stop_after_attempt,wait_fixedretry(stopstop_after_attempt(3),waitwait_fixed(2))deffetch_data(url):responserequests.get(url)response.raise_for_status()# 非 200 状态码会抛出异常returnresponse.json()# 使用try:datafetch_data(https://api.example.com/data)print(成功获取数据:,data)exceptExceptionase:print(f最终失败:{e})说明如果请求抛出异常如网络错误或 HTTP 错误函数会自动重试最多 3 次每次等待 2 秒。示例 2指数退避等待使用指数退避策略首次等待 1 秒后续按倍数增加最多等待 10 秒最多重试 5 次。fromtenacityimportretry,stop_after_attempt,wait_exponentialretry(stopstop_after_attempt(5),waitwait_exponential(multiplier1,min1,max10))defcall_external_api():# 模拟外部 API 调用responserequests.get(https://external.service/api)response.raise_for_status()returnresponse.text说明这种策略能避免对服务端造成瞬时压力常用于分布式系统。示例 3仅针对特定异常重试只在发生Timeout异常时重试其他异常直接抛出。fromrequestsimportexceptionsfromtenacityimportretry,retry_if_exception_typeretry(retryretry_if_exception_type(exceptions.Timeout))defrequest_with_timeout():print(尝试请求...)raiseexceptions.Timeout# 模拟超时request_with_timeout()说明通过retry_if_exception_type可以精确控制重试的异常类型。示例 4根据返回值条件重试当函数返回False时重试最多 3 次。fromtenacityimportretry,stop_after_attempt,retry_if_resultdefis_false(value):returnvalueisFalseretry(stopstop_after_attempt(3),retryretry_if_result(is_false))defcheck_status():# 模拟检查状态返回 False 表示未就绪returnFalsecheck_status()说明这种方式适用于需要根据结果而非异常决定是否重试的场景例如等待某个条件达成。示例 5组合停止条件与重试后回调设置“最多重试 5 次或总时间不超过 10 秒”的停止条件并在重试失败后执行回调。fromtenacityimportretry,stop_after_attempt,stop_after_delay,retry_if_exception_typedeflog_failure(retry_state):print(f重试失败最后一次异常:{retry_state.outcome.exception()})retry(stop(stop_after_attempt(5)|stop_after_delay(10)),retryretry_if_exception_type(IOError),retry_error_callbacklog_failure)defread_file():withopen(temp.txt,r)asf:returnf.read()说明这里使用|组合多个停止条件并在最终失败时通过回调记录日志。注意事项幂等性确保重试的操作是幂等的多次执行结果相同避免因重试导致重复提交或数据不一致。资源释放在重试循环中注意资源如连接、文件句柄的及时释放。超时设置合理设置重试次数和等待时间避免无限重试或过长延迟影响用户体验。Tenacity 因其配置灵活、API 简洁已成为 Python 生态中处理重试逻辑的首选库之一。通过上述示例你可以快速将其集成到项目中提升代码的可靠性。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

妇联网站建设背景桌面软件开发工具

数据简介 工业互联网作为“工业4.0”与数字经济深度融合的核心载体,是推动制造业转型升级、实现产业高质量发展的关键支撑技术,其专利布局直接反映企业在工业数字化、网络化、智能化领域的核心竞争力。本数据聚焦上市公司工业互联网技术创新成果的精准量…

张小明 2026/1/3 0:28:00 网站建设

设计网站建设常州wordpress留言板comments.php添加自定义字段

12月12日,吉利全球全域安全中心正式发布,并一举创下“全球最大的汽车安全试验室”、“全球最长的室内汽车碰撞测试跑道”、“全球最大的汽车环境风洞试验室”、“全球最大的任意角度汽车碰撞测试区(0-180)”、“全球测试功能最多的…

张小明 2026/1/2 5:33:08 网站建设

济源建网站凡科网建站教程

探索目标:侦察与武器化 在当今数字化时代,网络安全变得至关重要。无论是对于企业还是个人,保护网络免受攻击都是一项艰巨的任务。而对于渗透测试人员来说,了解如何探索目标网络、获取访问权限以及破解密码是必不可少的技能。本文将详细介绍如何进行Wi-Fi网络的侦察、获取密…

张小明 2026/1/3 2:33:44 网站建设

最新的高端网站建设wordpress chrome 扩展

第十一次一,排序1,冒泡排序: 两两相比,交换位置外循环要经过多少轮, 一轮找出一个最值内循环比较多少次2,交换位置临时值的用法【1】,int temp list[j];//定义一个临时值 存储其中的一个值【2】…

张小明 2026/1/2 3:32:07 网站建设

做版式的网站做网站的照片要多大像素

腾讯开源Hunyuan-7B:256K超长上下文快慢思考模式重塑行业应用 【免费下载链接】Hunyuan-7B-Pretrain 腾讯开源大语言模型Hunyuan-7B-Pretrain,支持256K超长上下文,融合快慢思考模式,具备强大推理能力。采用GQA优化推理效率&#x…

张小明 2026/1/2 20:55:19 网站建设