python - 在进程中每隔一段时间执行一次任务

标签 python timer

我想每 2 小时执行一次任务。 Python在Threading模块中有一个Timer,但是它满足我的需求吗?我如何自己生成合适的计时器?

最佳答案

如果您希望您的代码每 2 小时运行一次,最简单的方法是使用 cron 或 一个类似的调度程序,具体取决于您的操作系统

如果您希望您的程序每 n 秒调用一个函数(在您的情况下为 7200) 你可以使用一个线程和 event.wait。以下示例启动一个计时器 每秒触发一次并打印一个字符串到标准输出

import threading
import time

class TimerClass(threading.Thread):
    def __init__(self):
        threading.Thread.__init__(self)
        self.event = threading.Event()

    def run(self):
        while not self.event.is_set():
            print "do something"
            self.event.wait( 1 )

    def stop(self):
        self.event.set()

tmr = TimerClass()
tmr.start()

time.sleep( 10 )

tmr.stop()

关于python - 在进程中每隔一段时间执行一次任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4152969/

相关文章:

python - 在 block 外或 block 内编写脚本标签?

python - 包含在 Python 字符串中的粗体搜索文本

python - 从第二个列表中减去第一个列表中的元素

c# - wpf Storyboard死亡

java - 重新启动 ScheduledExecutorService 计划任务的正确方法是什么?

c# - Thread.Sleep 或 Timer 用于显示每一步

Python 在结束帖子编号处将点零添加到字符串

python - 使用 Python 和 NumPy 的神经网络

java - 如何使用基本 Java 套接字停止 ("skip") 等待服务器响应的客户端

c - X 秒后终止程序 Linux C