每5分钟激活一次Python程序?

时间:2010-10-11 06:53:12

标签: python time

是否有一种简单的方法可以让python代码段每5分钟运行一次?

我知道我可以使用time.sleep()来实现它,但还有其他方法吗?

例如,我想每5分钟运行一次:

x = 0
def run_5():
    print "5 minutes later"
    global x += 5
    print x, "minutes since start"

这只是一个假的例子,但这个想法就在那里。

有什么想法吗?

我在linux上并且很乐意使用cron,但只是想知道是否有python替代品?

3 个答案:

答案 0 :(得分:2)

您可以使用线程模块

来完成
>>> import threading
>>> END = False
>>> def run(x=0):
...     x += 5
...     print x
...     if not END:
...         threading.Timer(1.0, run, [x]).start()
... 
>>> threading.Timer(1.0, run, [x]).start()
>>> 5
10
15
20
25
30
35
40

然后,当您希望停止时,请设置END = True

答案 1 :(得分:2)

如果您正在运行* nix类型的操作系统,您可能需要查看cron。您可以轻松地让它每5分钟运行一次程序

http://www.unixgeeks.org/security/newbie/unix/cron-1.html

https://help.ubuntu.com/community/CronHowto

答案 2 :(得分:0)

如果您使用的是Windows平台,则可以使用计划任务。

否则,请使用cron,精彩,精彩的cron。