1. 程式人生 > >python APScheduler 簡單總結

python APScheduler 簡單總結

test set 參數 例如 psc 一次 定時 bsp 只有一個

1. 簡介

APScheduler基於Quartz的一個Python定時任務框架,實現了Quartz的所有功能,使用起來十分方便。提供了基於日期、固定時間間隔以及crontab類型的任務,並且可以持久化任務。基於這些功能,我們可以很方便的實現一個python定時任務系統。

github:https://github.com/agronholm/apscheduler

官網文檔:https://apscheduler.readthedocs.io/en/latest/

2. 安裝

1、pip安裝

pip install apscheduler

2、源碼安裝

下載地址:https://pypi.python.org/pypi/APScheduler/

python setup.py install

3. 組成

APScheduler整個系統可以說由這五個概念組成:

  • 觸發器(trigger)包含調度邏輯,每一個作業有它自己的觸發器,用於決定接下來哪一個作業會運行。除了他們自己初始配置意外,觸發器完全是無狀態的。
  • 作業存儲(job store)存儲被調度的作業,默認的作業存儲是簡單地把作業保存在內存中,其他的作業存儲是將作業保存在數據庫中。一個作業的數據講在保存在持久化作業存儲時被序列化,並在加載時被反序列化。調度器不能分享同一個作業存儲。
  • 執行器(executor)處理作業的運行,他們通常通過在作業中提交制定的可調用對象到一個線程或者進城池來進行。當作業完成時,執行器將會通知調度器。
  • 調度器(scheduler)是其他的組成部分。你通常在應用只有一個調度器,應用的開發者通常不會直接處理作業存儲、調度器和觸發器,相反,調度器提供了處理這些的合適的接口。配置作業存儲和執行器可以在調度器中完成,例如添加、修改和移除作業。
  • 任務(job):描述一個任務本身。

BlockingScheduler簡單應用:

技術分享圖片

上面的例子表示每隔5s執行一次my_job函數,輸出hello world

2、BackgroundScheduler簡單應用

技術分享圖片

觸發器(trigger)控制

1、interval 間隔調度(每隔多久執行)

技術分享圖片

例子:

技術分享圖片

2、date 定時調度(作業只會執行一次)

技術分享圖片

例子:

技術分享圖片

3、cron定時調度(某一定時時刻執行)

技術分享圖片

參數的取值格式:

技術分享圖片

例子:

技術分享圖片

例如:

scheduler.add_job(job3, ‘cron‘, second=10) /////在每分鐘的第10s執行
scheduler.add_job(job3, ‘cron‘, minute = 19, second=10) /////在每小時的第19分鐘第10s執行
scheduler.add_job(job3, ‘cron‘, hour = 17,minute = 19,second = 07) ////在每天的17點19分7秒執行

python APScheduler 簡單總結