ループ内にいくつかの 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