APScheduler 简介
APScheduler 是 Flask 的一个任务调度模块,类似于 Linux 中的 Crontab 功能,但它不仅仅只有定时任务
APScheduler 分为4个模块,分别是:
-
Triggers
触发器 -
Task Job
工作任务 -
Executors
执行器 -
Schedulers
调度器
Triggers 有 3 个触发器
-
date
表示具体的一次性任务 -
interval
表示循环任务 -
cron
表示定时任务
APScheduler 使用
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
from apscheduler.schedulers.blocking import BlockingScheduler
import datetime
def task_job(x):
print(datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), x)
scheduler = BlockingScheduler()
scheduler.add_job(func=task_job, args=('定时任务',), trigger='cron', second='*/5')
scheduler.add_job(func=task_job, args=('一次性任务',), trigger='date', next_run_time=datetime.
datetime.now() + datetime.timedelta(seconds=12))
scheduler.add_job(func=task_job, args=('循环任务',), trigger='interval', seconds=3)
# 启动任务
scheduler.start()
# 暂停任务
scheduler.pause_job('interval_task')
# 恢复任务
scheduler.resume_job('interval_task')
# 删除任务
scheduler.remove_job('interval_task')