Python的APScheduler框架可以用于实现定时任务。
安装
pip install apscheduler
基础组件
四大基础组件类型:
triggers
job stores
executors
schedulers
组件:
BlockingScheduler: use when the scheduler is the only thing running in your process
BackgroundScheduler: use then you’re not using any of the frameworks below, and want the scheduler to run in the background inside your application
AsyncIOScheduler: use if your application uses the asyncio module
GeventScheduler: use if your application uses gevent
TornadoScheduler: use if you’re building a Tornado application
TwistedScheduler: use if you’re building a Twisted application
QtScheduler: use if you’re building a Qt application
示例
每隔一段时间执行
from apscheduler.schedulers.background import BlockingScheduler
from datetime import datetime
scheduler = BlockingScheduler()
def fun1():
print('Hello World 1')
# 每3s执行一次的job
job = scheduler.add_job(fun1, 'interval', seconds=3, id='my_job')
每隔一段时间执行并给函数传递参数
# coding=UTF-8
from apscheduler.schedulers.background import BlockingScheduler
from datetime import datetime
scheduler = BlockingScheduler()
def fun2(i):
print(i)
# 每3s执行一次的job,并给函数传参数
i=0
job = scheduler.add_job(fun2, 'interval', seconds=3, id='my_job2', args=[i])
scheduler.start()