1

我的 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)

这是正确的方法吗?它会进入递归错误循环吗?

4

0 回答 0