最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一文詳解Python定時任務觸發(fā)

 更新時間:2023年04月02日 14:25:49   作者:處女座_三月  
這篇文章主要為大家詳細介紹了Python定時任務觸發(fā)的相關知識,文中的示例代碼講解詳細,對我們學習Python有一定的幫助,需要的可以參考一下

APScheduler

APScheduler 四個組件分別為:

調(diào)度器(scheduler)、觸發(fā)器(trigger),作業(yè)存儲(job store),執(zhí)行器(executor)

安裝命令:

pip install setuptools
pip install --ignore-installed apscheduler

1.新建調(diào)度器schedulers

BlockingScheduler : 調(diào)度器在當前進程的主線程中運行,也就是會阻塞當前線程

BackgroundScheduler : 調(diào)度器在后臺線程中運行,不會阻塞當前線程

import datetime as dt
from apscheduler.schedulers.blocking import BlockingScheduler
scheduler = BlockingScheduler()

2.添加調(diào)度任務trigger

① date 觸發(fā)器:(指定時間點觸發(fā)),參數(shù)如下:

  • run_date(datetime或str):任務運行的日期或時間
  • timezone(datetime.tzinfo或str):指定時區(qū)
# 例1:在 2020-9-24 時刻運行一次 func 方法
scheduler.add_job(func, 'date', run_date = dt.date(2020, 9, 24))
# 例2: 在 2020-9-24 15:10:00 時刻運行一次 func 方法
scheduler.add_job(func, 'date', run_date = dt.datetime(2020, 9, 24, 15, 10, 0))
# 例3: 在 2020-9-24 15:11:00 時刻運行一次 func 方法
scheduler.add_job(func, 'date', run_date = '2020-9-24 15:11:00')

② interval 觸發(fā)器: (固定時間間隔觸發(fā)),參數(shù)如下:

  • weeks(int):間隔幾周
  • days(int):間隔幾天
  • hours(int):間隔幾小時
  • minutes(int):間隔幾分鐘
  • seconds(int):間隔幾秒鐘
  • start_date(datetime或str):開始時間
  • end_date(datetime或str):結(jié)束時間
  • timezone(datetime.tzinfo或str):時區(qū)
# 例1:每隔兩分鐘執(zhí)行一次 func 方法
scheduler.add_job(func, 'interval', minutes = 2)
# 例2:在 2020-9-24 15:15:00 ~ 2020-9-24 15:20:00 之間, 每隔兩分鐘執(zhí)行一次 func 方法
scheduler.add_job(func, 'interval', minutes = 2, start_date = '2020-9-24 15:15:00' , 
                  end_date = '2020-9-24 15:20:00')

③ cron 觸發(fā)器:(在指定時間周期性地觸發(fā)),參數(shù)如下:

  • year(int 或 str):年
  • month(int 或 str):月
  • day(int 或 str):日
  • week(int 或 str):周(1-53)
  • day_of_week(int 或 str):星期幾(0-6)
  • hour(int 或 str):時
  • minute(int 或 str):分
  • second(int 或 str):秒
  • start_date(datetime或str):最早開始時間(包含)
  • end_date(datetime或str):最晚結(jié)束時間(包含)
  • timezone(datetime.tzinfo或str):指定時區(qū)

字符 :

1. * 每一(每一分) 

2. ? 表示不關心,任意 

3. - 范圍 (小時:1-12,1到12點運行) 

4. , 標示多個值 (小時 1,2,3 1點2點3點運行) 

5. / 遞增觸發(fā)(0/15,從0開始每15秒運行一次) 

6. L 最后(日L,當月最后一天,周L周六) 

7. W 指定日期最近的工作日(周一到周五) 

8. # 序號(表示每月的第幾個周幾) 

# 例:在每年 1-3、7-9 月份中的每個星期一、二中的 00:00, 01:00, 02:00 和 03:00 執(zhí)行 func 任務
scheduler.add_job(func, 'cron', month = '1-3,7-9',day='0, tue', hour='0-3')

3.運行調(diào)度任務

scheduler.start()

3.1 測試時間

def forecast_adjust():
    now_temp = datetime.now()
    print('執(zhí)行方案一', now_temp, '時間間隔: ', now_temp-t0)
 
def for2():
    now_temp = datetime.now()
    print('執(zhí)行方案二', now_temp, '時間間隔: ', now_temp-t0)
 
def fortime3():
    now_temp = datetime.now()
    print('執(zhí)行方案三', now_temp, '時間間隔: ', now_temp-t0)
    return '9999999999999'
    
def a__():
    b = scheduler.add_job(fortime3, 'cron', hour='15', minute = '18')
    c = scheduler.add_job(fortime3, 'cron', hour='15', minute = '30')
    d = scheduler.add_job(fortime3, 'cron', hour='15', minute = '45')
    print(b)
    print(c)
    print(c)
    return 'kkkqq'
    
t0 = datetime.now()
scheduler = BlockingScheduler()  # 采用阻塞的方式
scheduler.add_job(func=forecast_adjust,
                  trigger=CronTrigger(minute="*/1", second=20,
                                      timezone=tz_now), args=[])
 
scheduler.add_job(func=for2,
                  trigger=CronTrigger(minute="*/5", second=10,
                                      timezone=tz_now), args=[])
 
k = a__()
print(k)
scheduler.start()

4.特點,其他操作

APScheduler 定點、定時:

四個組件分別為:觸發(fā)器(trigger),作業(yè)存儲器(job store),執(zhí)行器(executor),調(diào)度器(scheduler)

(1)job stores:對調(diào)度任務的管理:

① 添加job:

# add_job():可以改變或者移除 job
scheduler.add_job(func, 'interval', minutes = 2)
 
# scheduled_job():只適用于應用運行期間不會改變的 job
scheduler.scheduled_job(func, 'interval', minutes = 2)

②移除job:

# remove_job() :根據(jù) job 的 id 來移除,所以要在 job 創(chuàng)建的時候指定一個 id
scheduler.add_job(func, 'interval', minutes = 2, id = 'job_one')
scheduler.remove_job(job_one)
 
# job.remove() :對 job 執(zhí)行 remove 方法
job = add_job(func, 'interval', minutes = 2, id = 'job_one')
job.remvoe()

③ 暫停job:

apscheduler.job.Job.pause()
apscheduler.schedulers.base.BaseScheduler.pause_job()

④ 恢復job:

apscheduler.job.Job.resume()
apscheduler.schedulers.base.BaseScheduler.resume_job()

⑤ 修改job:

# modify_job()
scheduler.modify_job('job_one', minutes = 5)
 
# job.modify()
job = scheduler.add_job(func, 'interval', minutes = 2)
job.modify(minutes = 5)

⑥ 關閉job:

scheduler.shutdown()
scheduler.shutdown(wait=false)

(2)executors:執(zhí)行調(diào)度任務的模塊,常用的 executor 有兩種:

ProcessPoolExecutor
ThreadPoolExecutor

到此這篇關于一文詳解Python定時任務觸發(fā)的文章就介紹到這了,更多相關Python定時任務內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python使用matplotlib繪制圖片時x軸的刻度處理

    python使用matplotlib繪制圖片時x軸的刻度處理

    在使用matplotlib繪制圖片時,x軸的刻度可能比較密集,特別是以日期作為x軸時,則最后會顯示不出來。這篇文章主要介紹了python使用matplotlib繪制圖片時x軸的刻度處理,需要的朋友可以參考下
    2021-08-08
  • python3中http協(xié)議提供文件服務器功能詳解

    python3中http協(xié)議提供文件服務器功能詳解

    http協(xié)議是互聯(lián)網(wǎng)的通用基礎協(xié)議,也可以利用其來開發(fā)文件服務器,給客戶提供文件瀏覽,查看,下載,上傳等功能,這篇文章主要介紹了python3中http協(xié)議提供文件服務器功能,需要的朋友可以參考下
    2023-06-06
  • Python get獲取頁面cookie代碼實例

    Python get獲取頁面cookie代碼實例

    利用Python get獲取頁面cookie代碼實例,簡單易懂
    2018-09-09
  • 非常簡單的Python識別圖片驗證碼實現(xiàn)過程

    非常簡單的Python識別圖片驗證碼實現(xiàn)過程

    這篇文章主要介紹了Python驗證碼識別實現(xiàn)過程,只需要幾行代碼就可以實現(xiàn),過程非常簡單,有需要的朋友可以借鑒參考下,希望可以有所幫助
    2021-09-09
  • Tensorflow之Saver的用法詳解

    Tensorflow之Saver的用法詳解

    本篇文章主要介紹了Tensorflow之Saver的用法詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • 如何利用python實現(xiàn)把視頻轉(zhuǎn)換成gif圖形

    如何利用python實現(xiàn)把視頻轉(zhuǎn)換成gif圖形

    將視頻轉(zhuǎn)換為 GIF 圖形的重要性不言而喻,在信息快速傳播和多種社交平臺廣泛應用的背景下,GIF 動畫不僅為個人用戶提供了一種輕松的表達方式,本文給大家介紹了如何利用python實現(xiàn)把視頻轉(zhuǎn)換成gif圖形,需要的朋友可以參考下
    2024-10-10
  • Python中異常處理的5個最佳實踐分享

    Python中異常處理的5個最佳實踐分享

    異常處理是編寫健壯可靠的?Python?代碼的一個基本方面,這篇文章為大家整理了Python中異常處理的5個最佳實踐,文中的示例代碼講解詳細,希望對大家有所幫助
    2024-01-01
  • Python 中random 庫的詳細使用

    Python 中random 庫的詳細使用

    random庫是使用隨機數(shù)的Python標準庫,python中用于生成偽隨機數(shù)的函數(shù)庫是random,今天通過本文給大家分享Python 中random 庫的詳細使用,感興趣的朋友一起看看吧
    2021-06-06
  • 解決pycharm無法識別本地site-packages的問題

    解決pycharm無法識別本地site-packages的問題

    今天小編就為大家分享一篇解決pycharm無法識別本地site-packages的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • Pycharm 2to3配置,python2轉(zhuǎn)python3方式

    Pycharm 2to3配置,python2轉(zhuǎn)python3方式

    這篇文章主要介紹了Pycharm 2to3配置,python2轉(zhuǎn)python3方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12

最新評論

获嘉县| 稻城县| 同江市| 乌鲁木齐县| 咸宁市| 固始县| 贵港市| 忻城县| 曲水县| 阜康市| 贡觉县| 江门市| 长乐市| 漳平市| 额尔古纳市| 滨海县| 饶阳县| 攀枝花市| 宝兴县| 郁南县| 许昌市| 乡宁县| 韩城市| 兴山县| 水城县| 江华| 巩义市| 库车县| 山西省| 威海市| 榕江县| 永昌县| 原平市| 绩溪县| 黔江区| 廊坊市| 阜阳市| 会同县| 靖安县| 鹤岗市| 全椒县|