问题描述
限时送ChatGPT账号..我想每 2 小时执行一次任务.Python 在 Threading 模块中有一个 Timer,但它满足我的需求吗?我如何自己生成合适的计时器?
I want to execute a task every 2 hours. Python has a Timer in Threading module, but does it meet my needs? How do I generate a proper Timer myself?
推荐答案
如果您希望代码每 2 小时运行一次,最简单的方法是使用 cron 或类似的调度程序取决于您的操作系统
If you want your code to be run every 2 hours the easiest way would be using cron or a similar scheduler depending on your operating system
如果您希望您的程序每 n 秒调用一个函数(在您的情况下为 7200)你可以使用一个线程和 event.wait.以下示例启动一个计时器每秒触发一次并将字符串打印到标准输出
if you want your programm to call a function every n seconds ( 7200 in your case ) you could use a thread and event.wait. The following example starts a timer that is triggered every second and prints a string to stdout
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()
这篇关于在流程中每隔一段时间执行一次任务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
更多推荐
[db:关键词]
发布评论