apscheduler

引言

apscheduler可以拆分成两部分:

aps: 进阶生产规划及排程系统
scheduler: 调度程序,日程安排程序

当程序希望某个函数每隔一段时间执行一次,或者某个函数在某天(每天)的某个时间执行,就可以引入apscheduler库。

from apscheduler.schedulers.blocking import BlockingScheduler
import time

def doing():
  print("do doing!!")

if __name__=="__main__":
    sched = BlockingScheduler()  # 1
    sched.add_job(doing, 'interval', seconds=10) # 2
    sched.start() # 3

1 实例化BlockingScheduler对象

2 添加任务

add_job()函数4个常用参数,第一个是所要执行的函数
第二个是触发器,可以定时触发,或者间歇性触发

  • date 日期:触发任务运行的具体日期
  • interval 间隔:触发任务运行的时间间隔
  • cron 周期:触发任务运行的周期
  1. 第三个参数是在选择触发器以后设置的,比如scconds=10就是10s执行一次
  2. args用来给函数传参。args=['text']

3 启动日程

可以通过sched.add_job()启动多个定时任务后再执行整个调度器
比如

import time
from apscheduler.schedulers.background import BackgroundScheduler
def func1():
    print("func1")

def func2():
    print("func2")

def func3():
    print("func3")


if __name__ == "__main__": 
    func_list = [func1, func2, func3] # 设置多个函数
    sched = BackgroundScheduler()
    for index, func in enumerate(func_list): 
        sched.add_job(func, 'interval', seconds=int(index)+1)
    sched.start() # 最后一次性启动
    while True:
        time.sleep(1)
        print('*'*50)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容