如何在永无止境的程序中安排不同时间的不同任务

2024-09-30 00:25:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我要先说我不是一个高级程序员,我只编写了按顺序运行并退出的程序。我现在要做的是编写一个python脚本,我将启动它,它将每5分钟运行一个函数,每10分钟运行一个函数,并且无限期地运行。下面是一些伪代码:

def RunMeEvery5min:
    do something

def RunMeEvery10min:
    do something

while True:
    every 5 minutes run RunMeEvery5min
    every 10 minutes run RunMeEvery10min
    do this forever until I kill the program

这是穿线吗?任务是否一致并不重要,因为它们本质上是不相关的。我冒昧地猜测,这是一个常见的编程问题,但我从来没有真正了解如何实现这一点,我甚至不知道要搜索什么。任何有帮助的例子或基本教程的链接都将不胜感激!你知道吗

谢谢!你知道吗


Tags: 函数run代码程序脚本顺序defdo
2条回答

您可以使用Python标准库中的^{}。你知道吗

import sched, time
from datetime import datetime

scheduler = sched.scheduler(time.time, time.sleep)

def execute_every_05mins():
    print(datetime.now().strftime("%H:%M:%S"))
    scheduler.enter(300, 0, execute_every_05mins, ())

def execute_every_10mins():
    print(datetime.now().strftime("%H:%M:%S"))
    scheduler.enter(600, 0, execute_every_10mins, ())

if __name__ == "__main__":
    scheduler.enter(0, 0, execute_every_05mins, ())
    scheduler.enter(0, 0, execute_every_10mins, ())
    scheduler.run()

也许这对你有帮助https://github.com/dbader/schedule

import schedule
import time

def job():
     print("I'm working...")

schedule.every(10).minutes.do(job)

while True:
     schedule.run_pending()
     time.sleep(1)

相关问题 更多 >

    热门问题