Когда есть некоторые LoopingCall задачи определена в цикле, скрученные Messes обратных вызовов и всегда выполняет последнюю определенноговитой task.LoopingCall столовой обратные вызовов, когда они определены в цикле
примера код:
from twisted.internet import reactor, task
from pprint import pprint
for s in [1,2]:
task.LoopingCall(lambda: pprint(s)).start(1)
reactor.run()
ответ: 1 2 2 2 2 2
код без цикла, который работает:
from twisted.internet import reactor, task
from pprint import pprint
task.LoopingCall(lambda: pprint(1)).start(1)
task.LoopingCall(lambda: pprint(2)).start(1)
reactor.run()
правильный ответ: 1 2 1 2 1 2