如何更改此代码,以便我可以每 60 秒调用一次 doWork((。目前,它正在绝对循环并在 60 秒后停止。想要做完全相反的事情。
from twisted.internet import task
from twisted.internet import reactor
import twapi
timeout = 200.0 # Sixty seconds
def doWork():
#do work here
twapi.main('1')
pass
l = task.LoopingCall(doWork)
l.start(timeout) # call every sixty seconds
reactor.run()
来自官方扭曲文档
from twisted.internet import task
from twisted.internet import reactor
def runEverySecond():
print "a second has passed"
l = task.LoopingCall(runEverySecond)
l.start(1.0) # call every second
reactor.run()
我修改了您的脚本以每分钟输出一次当前时间:
#!/usr/bin/python
from twisted.internet import task
from twisted.internet import reactor
from datetime import datetime as time
timeout = 60.0 # Sixty seconds
def doWork():
#do work here
print time.now().isoformat()
l = task.LoopingCall(doWork)
l.start(timeout) # call every sixty seconds
reactor.run()
它的工作原理是这样的:
2012-05-20T19:24:44.388682
2012-05-20T19:25:44.389788
2012-05-20T19:26:44.389424
我能看到的你的代码片段中的唯一问题是你要求反应堆每 200 秒调用一次你的函数,而不是 60 秒。