Python APScheduler執(zhí)行使用方法詳解
APScheduler就是定時(shí)進(jìn)行周期性的運(yùn)行某些程序,在語(yǔ)言程序編寫(xiě)中,一直會(huì)遇到些定時(shí)服務(wù),有時(shí)是根據(jù)時(shí)間定時(shí),有時(shí)在固定的位置上進(jìn)行定制,還有一些是因?yàn)閮?chǔ)蓄出現(xiàn)的定時(shí),不管是處于哪一種定時(shí)類(lèi)型,基本上都可以使用APScheduler模塊進(jìn)行協(xié)助工作,本文給大家介紹定時(shí)模塊的使用方法。
APScheduler與第三方模塊安裝方式一樣,使用pip,安裝過(guò)程如下:
1、APScheduler支持觸發(fā)器:
DateTriggerIntervalTriggerCronTrigger
2、APScheduler支持的Executor
AsyncIOExecutorGeventExecutorThreadPoolExecutor
APScheduler使用示例:
import asyncioimport datetimescheduler.add_job(async_func, trigger, args=['jobstore second, executor = second'], id='cron_func_test_2', jobstore='second', executor='second')
大家?guī)雸?zhí)行代碼看下輸出結(jié)果,小編這篇內(nèi)容只是舉例常規(guī)內(nèi)容,還有更多的比如在執(zhí)行器任務(wù)完成是,使用調(diào)度器連接,進(jìn)行添加,修改等等
知識(shí)點(diǎn)擴(kuò)展:
在APScheduler中有四個(gè)組件 觸發(fā)器(trigger)包含調(diào)度邏輯,每一個(gè)作業(yè)有它自己的觸發(fā)器,用于決定接下來(lái)哪一個(gè)作業(yè)會(huì)運(yùn)行。除了他們自己初始配置意外,觸發(fā)器完全是無(wú)狀態(tài)的。簡(jiǎn)單說(shuō)就是應(yīng)該說(shuō)明一個(gè)任務(wù)應(yīng)該在什么時(shí)候執(zhí)行。 作業(yè)存儲(chǔ)(job store)存儲(chǔ)被調(diào)度的作業(yè),默認(rèn)的作業(yè)存儲(chǔ)是簡(jiǎn)單地把作業(yè)保存在內(nèi)存中,其他的作業(yè)存儲(chǔ)是將作業(yè)保存在數(shù)據(jù)庫(kù)中。一個(gè)作業(yè)的數(shù)據(jù)將在保存在持久化作業(yè)存儲(chǔ)時(shí)被序列化,并在加載時(shí)被反序列化。調(diào)度器不能分享同一個(gè)作業(yè)存儲(chǔ)。 執(zhí)行器(executor)處理作業(yè)的運(yùn)行,他們通常通過(guò)在作業(yè)中提交制定的可調(diào)用對(duì)象到一個(gè)線程或者進(jìn)城池來(lái)進(jìn)行。當(dāng)作業(yè)完成時(shí),執(zhí)行器將會(huì)通知調(diào)度器。 調(diào)度器(scheduler)任務(wù)控制器:通過(guò)配置executor、jobstore、trigger,使用線程池(ThreadPoolExecutor默認(rèn)值20)或進(jìn)程池(ProcessPoolExecutor 默認(rèn)值5)并且默認(rèn)最多3個(gè)(max_instances)任務(wù)實(shí)例同時(shí)運(yùn)行,實(shí)現(xiàn)對(duì)job的增刪改查等調(diào)度控制你需要選擇合適的調(diào)度器,這取決于你的應(yīng)用環(huán)境和你使用APScheduler的目的。通常最常用的兩個(gè):
BlockingScheduler:當(dāng)調(diào)度器是你應(yīng)用中唯一要運(yùn)行的東西時(shí)使用。
BackgroundScheduler:當(dāng)你不運(yùn)行任何其他框架時(shí)使用,并希望調(diào)度器在你應(yīng)用的后臺(tái)執(zhí)行。
相關(guān)文章:
1. 如何在jsp界面中插入圖片2. ASP實(shí)現(xiàn)加法驗(yàn)證碼3. python selenium 獲取接口數(shù)據(jù)的實(shí)現(xiàn)4. ASP刪除img標(biāo)簽的style屬性只保留src的正則函數(shù)5. 詳解JSP 內(nèi)置對(duì)象request常見(jiàn)用法6. 利用ajax+php實(shí)現(xiàn)商品價(jià)格計(jì)算7. Python matplotlib 繪制雙Y軸曲線圖的示例代碼8. jsp EL表達(dá)式詳解9. JSP servlet實(shí)現(xiàn)文件上傳下載和刪除10. springboot集成與使用Sentinel的方法
