成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

Python APScheduler執(zhí)行使用方法詳解

瀏覽:60日期:2022-07-02 16:16:11

APScheduler就是定時(shí)進(jìn)行周期性的運(yùn)行某些程序,在語言程序編寫中,一直會(huì)遇到些定時(shí)服務(wù),有時(shí)是根據(jù)時(shí)間定時(shí),有時(shí)在固定的位置上進(jìn)行定制,還有一些是因?yàn)閮?chǔ)蓄出現(xiàn)的定時(shí),不管是處于哪一種定時(shí)類型,基本上都可以使用APScheduler模塊進(jìn)行協(xié)助工作,本文給大家介紹定時(shí)模塊的使用方法。

APScheduler與第三方模塊安裝方式一樣,使用pip,安裝過程如下:

Python APScheduler執(zhí)行使用方法詳解

常見的使用方式

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ā)器,用于決定接下來哪一個(gè)作業(yè)會(huì)運(yùn)行。除了他們自己初始配置意外,觸發(fā)器完全是無狀態(tài)的。簡(jiǎn)單說就是應(yīng)該說明一個(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)行,他們通常通過在作業(yè)中提交制定的可調(diào)用對(duì)象到一個(gè)線程或者進(jìn)城池來進(jìn)行。當(dāng)作業(yè)完成時(shí),執(zhí)行器將會(huì)通知調(diào)度器。 調(diào)度器(scheduler)任務(wù)控制器:通過配置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í)行。

標(biāo)簽: Python 編程
相關(guān)文章: