首页 > 解决方案 > 出现错误时休眠,python

问题描述

所以我有一种情况,我要连续 12 小时使用互联网连接并调用 api。但是灯每 10 分钟就会熄灭一次。是否可以写一个try,除了会导致延迟10分钟的函数,以防产生超时错误。希望10分钟后能恢复供电。| 这是我目前正在使用的:

try:
        a=translator.translate(str(x1),dest='hi')   
        b=translator.translate(str(x2),dest='hi')
    except:
        sleep(60*10)

标签: pythonerror-handlingexception-handling

解决方案


您可以使用该retry模块进行此类重试异常。这使代码看起来更干净。pip install retry应该安装模块

from retry import retry

@retry(Exception, delay=10*60, tries=-1)
def my_code_that_needs_to_be_retried_for_ever():
    a=translator.translate(str(x1),dest='hi')   
    b=translator.translate(str(x2),dest='hi')

# Call the function
my_code_that_needs_to_be_retried_for_ever()

使用上面的代码,my_code_that_needs_to_be_retried_for_ever每当函数块内的代码引发异常时,它将永远每 60*10 秒(10 分钟)重试一次(因为尝试设置为 -1)


推荐阅读