所以这方面自己可能考虑的比较充分了,有时候自己明确的一种意见的意思,所以自己针对这件事情,可能之前并没有做得非常完美,并没有符合自己内心真实的一些想法,所以自己也是想要从事的一种态度。
为了避免由于一些网络或其他不可控因素,而引起的功能性问题。比如在发送请求时,会因为网络不稳定,往往会有请求超时的问题。
这种情况下,我们通常会在代码中加入重试的代码。重试的代码本身不难实现,但如何写得优雅、易用,是我们要考虑的问题。
这里要给大家介绍的是一个第三方库 -Tenacity ,它实现了几乎我们可以使用到的所有重试场景,比如:
在使用它之前 ,先要安装它
无条件重试,重试之间无间隔
无条件重试,但是在重试之前要等待 2 秒
只重试7 次
重试 10 秒后不再重试
或者上面两个条件满足一个就结束重试
在出现特定错误/异常(比如请求超时)的情况下,再进行重试
在满足自定义条件时,再进行重试。
如下示例,当 test_retry 函数返回值为 False 时,再进行重试
如果想对一个异常进行重试,但是最多重试3次。
下面这个代码是无效的,因为它会一直重试,重试三次的限制不会生效,因为它的条件是有顺序的,在前面的条件会先被走到,就永远走不到后面的条件。
如果你把 stop_after_attempt 写到前边,就没有问题了。
当出现异常后,tenacity 会进行重试,若重试后还是失败,默认情况下,往上抛出的异常会变成 RetryError,而不是最根本的原因。
因此可以加一个参数( reraise=True ),使得当重试失败后,往外抛出的异常还是原来的那个。
当最后一次重试失败后,可以执行一个回调函数
输出如下
摘自黑魔法手册
出现这种情况一般都是密码输入错误次数过多导致的,可通过修改密码来解决,具体操作步骤如下:
1、首先,进入战网登录界面,单击红色框中的“无法登录”。
2、在弹出窗口中,选择左侧框选的选项。
3、选择后,系统将提示进入战斗,输入账号名称。
4、输入完成后,单击“继续”按钮,将提示输入绑定的电话号码,然后单击“继续”。
5、正确输入手机号码后,系统将自动向手机发送一条短信,填写收到的验证码,然后单击“继续”。
6、重置新密码,然后记住,单击继续。
7、最后,密码改好,可以正常登录到战网客户端。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)