Python APScheduler執行使用方法詳解
阿新 • • 發佈:2020-12-11
APScheduler就是定時進行週期性的執行某些程式,在語言程式編寫中,一直會遇到些定時服務,有時是根據時間定時,有時在固定的位置上進行定製,還有一些是因為儲蓄出現的定時,不管是處於哪一種定時型別,基本上都可以使用APScheduler模組進行協助工作,本文給大家介紹定時模組的使用方法。
APScheduler與第三方模組安裝方式一樣,使用pip,安裝過程如下:
常見的使用方式
1、APScheduler支援觸發器:
DateTrigger IntervalTrigger CronTrigger
2、APScheduler支援的Executor
AsyncIOExecutor GeventExecutor ThreadPoolExecutor
APScheduler使用示例:
import asyncio import datetime scheduler.add_job(async_func,trigger,args=["jobstore second,executor = second"],id="cron_func_test_2",jobstore="second",executor="second")
大家帶入執行程式碼看下輸出結果,小編這篇內容只是舉例常規內容,還有更多的比如在執行器任務完成是,使用排程器連線,進行新增,修改等等
知識點擴充套件:
在APScheduler中有四個元件
- 觸發器(trigger)包含排程邏輯,每一個作業有它自己的觸發器,用於決定接下來哪一個作業會執行。除了他們自己初始配置意外,觸發器完全是無狀態的。簡單說就是應該說明一個任務應該在什麼時候執行。
- 作業儲存(job store)儲存被排程的作業,預設的作業儲存是簡單地把作業儲存在記憶體中,其他的作業儲存是將作業儲存在資料庫中。一個作業的資料將在儲存在持久化作業儲存時被序列化,並在載入時被反序列化。排程器不能分享同一個作業儲存。
- 執行器(executor)處理作業的執行,他們通常通過在作業中提交制定的可呼叫物件到一個執行緒或者進城池來進行。當作業完成時,執行器將會通知排程器。
- 排程器(scheduler)任務控制器:通過配置executor、jobstore、trigger,使用執行緒池(ThreadPoolExecutor預設值20)或程序池(ProcessPoolExecutor 預設值5)並且預設最多3個(max_instances)任務例項同時執行,實現對job的增刪改查等排程控制
你需要選擇合適的排程器,這取決於你的應用環境和你使用APScheduler的目的。通常最常用的兩個:
BlockingScheduler:當排程器是你應用中唯一要執行的東西時使用。
BackgroundScheduler:當你不執行任何其他框架時使用,並希望排程器在你應用的後臺執行。