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