import sys
from twisted.internet import reactor, defer, task
from twisted.python import log
def periodic_task():
log.msg("periodic task running")
x = 10 / 0
def periodic_task_crashed(reason):
log.err(reason, "periodic_task broken")
log.startLogging(sys.stdout)
my_task = task.LoopingCall(periodic_task)
d = my_task.start(1)
d.addErrback(periodic_task_crashed)
reactor.run()
我收到输出,它停止脚本。即使存在异常错误,也可以继续运行脚本。坦白而不是x = 10/0我正在做一些api电话。但是当出现错误时它会停止脚本。但我想要的是即使出现错误也要运行脚本并反复检查。
原来只需要只需处理exeption,使用try ...除了你知道可能会失败的代码之外的块。
def periodic_task():
log.msg("periodic task running")
try:
x = 10 / 0
except Exception as error:
# Here you should at least log the error, exceptions do not should pass silently.
pass








暂无数据