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)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值