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ò)程如下:
常見(jiàn)的使用方式
1、APScheduler支持觸發(fā)器:
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")
大家?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í)行。
- python 基于Apscheduler實(shí)現(xiàn)定時(shí)任務(wù)
- Python定時(shí)庫(kù)Apscheduler的簡(jiǎn)單使用
- python定時(shí)任務(wù)apscheduler的詳細(xì)使用教程
- python?包之?APScheduler?定時(shí)任務(wù)
- 最新Python?APScheduler?定時(shí)任務(wù)詳解
- Python flask框架定時(shí)任務(wù)apscheduler應(yīng)用介紹
- Python實(shí)現(xiàn)定時(shí)任務(wù)利器之a(chǎn)pscheduler使用詳解
- Python高效定時(shí)任務(wù)處理APScheduler庫(kù)深入學(xué)習(xí)
- Python apscheduler實(shí)現(xiàn)定時(shí)任務(wù)的方法詳解
- Python輕量級(jí)定時(shí)任務(wù)調(diào)度APScheduler的使用
相關(guān)文章
淺談python中的實(shí)例方法、類(lèi)方法和靜態(tài)方法
本文主要介紹了python 實(shí)例方法、類(lèi)方法和靜態(tài)方法的相關(guān)知識(shí)。具有很好的參考價(jià)值,下面跟著小編一起來(lái)看下吧2017-02-02對(duì)python3中的RE(正則表達(dá)式)-詳細(xì)總結(jié)
今天小編就為大家分享一篇對(duì)python3中的RE(正則表達(dá)式)-詳細(xì)總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-07-07如何使用PyTorch優(yōu)化一個(gè)邊緣檢測(cè)器
這篇文章主要給大家介紹了關(guān)于如何使用PyTorch優(yōu)化一個(gè)邊緣檢測(cè)器的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2024-09-09Python?SQLAlchemy庫(kù)的實(shí)現(xiàn)示例
SQLAlchemy庫(kù)是一個(gè)強(qiáng)大的工具,為開(kāi)發(fā)人員提供了便捷的方式來(lái)處理與數(shù)據(jù)庫(kù)的交互,本文主要介紹了Python?SQLAlchemy庫(kù)的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2024-06-06Flask和pyecharts實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)可視化
這篇文章主要介紹了Flask和pyecharts實(shí)現(xiàn)動(dòng)態(tài)數(shù)據(jù)可視化,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02Python爬蟲(chóng)簡(jiǎn)單運(yùn)用爬取代理IP的實(shí)現(xiàn)
這篇文章主要介紹了Python爬蟲(chóng)簡(jiǎn)單運(yùn)用爬取代理IP的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12python實(shí)戰(zhàn)之百度智能云使人像動(dòng)漫化
這篇文章主要介紹了python實(shí)戰(zhàn)之百度智能云使人像動(dòng)漫化,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們有很好地幫助,需要的朋友可以參考下2021-04-045個(gè)很好的Python面試題問(wèn)題答案及分析
這篇文章主要介紹了5個(gè)很好的Python面試題問(wèn)題答案及分析,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01