在蟒蛇在特定的时间间隔运行任务[复制](Run a task at specific interva

2019-06-24 02:32发布

可能重复:
建议一个cron调度一样在Python?

什么是安排作为后台任务定期运行的功能最Python的方式? 有一些想法在这里 ,但他们似乎都比较难看我。 和不完整的。

在Java 定时器类有一个非常完整的解决方案。 任何人都知道类似的Python类的?

Answer 1:

有一个方便的事件调度,可能你所需要的。 下面是该文档的链接:

http://docs.python.org/library/sched.html



Answer 2:

尝试多模块。

from multiprocessing import Process
import time

def doWork():
    while True:
        print "working...."
        time.sleep(10)



if __name__ == "__main__":
    p = Process(target=doWork)
    p.start()

    while True:
        time.sleep(60)


Answer 3:

许多程序员尽量避免多线程代码,因为它是非常容易出错的命令式编程。

如果你想在单线程环境计划的任务,那么你可能需要某种“的反应堆 ”。 您可能需要使用一个现成的一个像扭曲的。

那么这将是您的反应堆中设置的基本功能,例如(具有pygame的):

pygame.time.set_timer - 重复创建的事件队列事件



Answer 4:

没有直接回答这个问题。

在Linux / Unix操作系统有几个方法来做到这一点,通常我只写我的程序/脚本正常,然后将其添加到cron或类似的东西(如launchd会在OS X上)

回答这个问题从这里开始。

使用标准的Python模块附表- 标准库的文档描述了一些漂亮的解决方案。



Answer 5:

Python有在线程模块定时器类但这是一次性的定时器,所以你会得到更好的做一些事情,你所看到的链接。 http://code.activestate.com/recipes/65222/

为什么你认为是丑陋的,一旦你已经写了这样一类的使用会像在java中那样简单。

如果你正在使用它的一些GUI如wxPython的内比它wx.Timer,你可以直接使用



文章来源: Run a task at specific intervals in python [duplicate]
标签: python timer