ZBLOG

APScheduler 实现多个守护任务并发

APScheduler可以很容易地实现多个守护任务的并发执行。下面是一个示例代码,演示如何使用APScheduler实现并发的守护任务:

from apscheduler.schedulers.background import BackgroundScheduler

def task1():
    print("Task 1 is running...")

def task2():
    print("Task 2 is running...")

# 创建后台调度器对象
scheduler = BackgroundScheduler()

# 添加任务1,每隔5秒钟执行一次
scheduler.add_job(task1, 'interval', seconds=5)

# 添加任务2,每隔10秒钟执行一次
scheduler.add_job(task2, 'interval', seconds=10)

# 启动调度器
scheduler.start()

try:
    # 让主线程保持运行状态,以便后台任务可以继续执行
    while True:
        pass
except KeyboardInterrupt:
    # 如果接收到键盘中断信号,则停止调度器并退出程序
    scheduler.shutdown()

在上述示例中,我们首先导入了BackgroundScheduler类,并定义了两个要执行的任务函数task1()task2()。然后创建了一个后台调度器对象scheduler

接下来,我们使用scheduler.add_job()方法添加了两个任务,并指定它们的触发方式为间隔执行(’interval’),分别设置了时间间隔为5秒和10秒。

最后,在启动调度器之前,我们使用一个无限循环来阻止主线程退出,这样后台任务就能够持续执行。当接收到键盘中断信号(Ctrl+C)时,调度器会被停止并退出程序。

通过这种方式,你可以使用APScheduler轻松实现多个守护任务的并发执行。每个任务都会在指定的时间间隔内按照预定的规则运行,并且不会互相影响。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=11852

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?