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