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()