为什么需要重试?
典型场景:程序的实现需要调用第三方的API,但是我们并不能保证第三方API一直好用,也不能保证网络一直畅通,所以在调用第三方API时需要加上错误重试。
通用场景:程序的运行不符合预期,我们知道再次调用大概率可以使之符合预期,这时就需要重试。
而重试逻辑我们可以通过循环多次调用实现,也可以使用封装好的重试模块。
本文我们就学习一下Python中比较流行的 retrying 模块,实现一些重试Demo。
unittest是一个Python单元测试框架。它受到 JUnit 的启发,与其他语言中的主流单元测试框架有着相似的风格。其支持测试自动化,配置共享和关机代码测试。支持将测试样例聚合到测试集中,并将测试与报告框架独立。
主要参考 unittest - 单元测试框架。
multipass 是一个轻量虚拟机管理器,是由Ubuntu运营公司Canonical所推出的开源项目。运行环境支持Linux、Windows、macOS,在Linux上使用的是KVM、Window上使用Hyper-V、macOS中使用HyperKit以最小开销运行VM。支持在笔记本模拟小型云。
更多内容参考Multipass官网。
Minikube是在个人计算机上的虚拟机中运行单节点Kubernetes集群的工具。
《K8S入门篇》一文中,在Windows系统中安装过Minikube。本文中,我们来学习一下在MacOS系统中安装Minikube。
主要参考再见Docker Desktop,你好 Minikube!。