我的 LoopingCall 任务在执行错误回调时停止,我想重新启动它。
我的代码看起来像这样,但我不确定我做得对还是最好的方法
from twisted.internet.task import LoopingCall
from twisted.internet import reactor
PROCESS_INTERVAL = 1
def periodic_task():
print notDefined
def periodic_task_crashed(error):
print "periodic task crashed"
lc = LoopingCall(periodic_task)
d = lc.start(PROCESS_INTERVAL)
d.addErrback(periodic_task_crashed)
reactor.run()
然后现在在我的错误回调中我这样做......
def periodic_task_crashed(reason):
d = lc.start(PROCESS_INTERVAL)
d.addErrback(periodic_task_crashed)
这是正确的方法吗?它会进入递归错误循环吗?