如何更改此代码,以便每隔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()发布于 2012-05-20 20:13:51
来自oficial Twisted documentation
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()发布于 2012-05-20 20:30:13
我修改了你的脚本,立即输出当前时间一次:
#!/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秒。
https://stackoverflow.com/questions/10672663
复制相似问题