apscheduler在tornado的应用TornadoScheduler
apscheduler BackgroundScheduler
后台运行定时任务,不阻塞主线程
from apscheduler.schedulers.background import BackgroundScheduler
def job():
print("test")
scheduler = BackgroundScheduler()
scheduler.add_job(job, 'cron', hour=23)
scheduler.start()
while True:
print("main thread!!")
tornado 启动定时任务
from apscheduler.schedulers.tornado import TornadoScheduler
scheduler = TornadoScheduler()
scheduler.add_job(job, "interval", minutes=5)
'''
add_job triggers类型
1. date 特定时间执行,只执行一次
2. interval 固定间隔时间触发
weeks (int) 隔几周
days (int) 隔几天
hours (int) 隔几小时
minutes (int) 隔几分钟
seconds (int) 隔多少秒
start_date (datetime 或 str) 指定开始日期
end_date (datetime 或 str) 指定结束日期
3. cron 特定时间周期性地触发
exp: add_job(job, "cron", hour=0, minute=0) 每天凌晨执行
'''
scheduler.start()
- 在启动服务时将调度器绑定到app的调度器上
app = tornado.web.Application(URLS, **SETTINGS) app.scheduler = scheduler