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

Python定時(shí)執(zhí)行程序問(wèn)題(schedule)

 更新時(shí)間:2023年04月28日 17:08:28   作者:hxxjxw  
這篇文章主要介紹了Python定時(shí)執(zhí)行程序問(wèn)題(schedule),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Python定時(shí)執(zhí)行程序(schedule)

使用schedule庫(kù)

import schedule
import time
def job():
    print("I'm working...")
schedule.every(10).seconds.do(job) # 每10秒執(zhí)行一次
schedule.every().wednesday.at("13:15").do(job) # 每周三13點(diǎn)15執(zhí)行
schedule.every(10).minutes.do(job) # 每10分鐘執(zhí)行一次
schedule.every().hour.do(job) # 每小時(shí)執(zhí)行一次
schedule.every().day.at("10:30").do(job) # 每天十點(diǎn)半執(zhí)行
schedule.every(5).to(10).minutes.do(job) # 每5-10分鐘隨機(jī)執(zhí)行一次
schedule.every().monday.do(job) # 每周一執(zhí)行
schedule.every().minute.at(":17").do(job) # 每分鐘的17秒執(zhí)行一次
while True:
    schedule.run_pending() # 運(yùn)行所有可運(yùn)行的任務(wù)

如果是要定在4:30執(zhí)行,一定要寫(xiě)schedule.every().day.at("04:30").do(job)

而不能只寫(xiě)schedule.every().day.at("4:30").do(job)

注意,如果程序執(zhí)行的時(shí)間要比你設(shè)定的時(shí)間間隔短,就是下一次定時(shí)程序開(kāi)始執(zhí)行的時(shí)候你上一次程序還沒(méi)有執(zhí)行完的話,就會(huì)新開(kāi)進(jìn)程。

進(jìn)程堆疊多了就會(huì)成災(zāi)難

python定時(shí)執(zhí)行任務(wù)(schedule)時(shí)間延遲踩坑實(shí)錄

通過(guò)schedule設(shè)置定時(shí)執(zhí)行某個(gè)任務(wù)

import schedule
import time
# 定義某個(gè)任務(wù)
def job():
    ...
# 設(shè)置執(zhí)行時(shí)間
schedule.every().seconds.do(job) # 每秒執(zhí)行一次任務(wù)
schedule.every().minutes.do(job) # 每分鐘執(zhí)行一次任務(wù)
schedule.every().hour.do(job) # 每小時(shí)執(zhí)行一次任務(wù)
# 可以指定具體時(shí)間間隔
schedule.every(10).minutes.do(job) # 每10分鐘執(zhí)行一次任務(wù)
# 設(shè)置每天某一時(shí)刻執(zhí)行
schedule.every().day.at("05:15").do(job) # 每天凌晨5點(diǎn)15分執(zhí)行任務(wù)
# 設(shè)置星期幾執(zhí)行
schedule.every().monday.at("05:15").do(job) # 每周一凌晨5點(diǎn)15分執(zhí)行任務(wù)
while True:
    schedule.run_pending() # 運(yùn)行所有可運(yùn)行的任務(wù)

踩坑問(wèn)題

第一個(gè)注意的點(diǎn)是,你要先在手動(dòng)運(yùn)行程序來(lái)開(kāi)啟服務(wù)(此時(shí)程序會(huì)暫停),然后才會(huì)在指定時(shí)間繼續(xù)執(zhí)行。

第二個(gè)注意的點(diǎn)是,在使用時(shí),因?yàn)?strong>程序運(yùn)行時(shí)間的存在,會(huì)出現(xiàn)時(shí)間延遲問(wèn)題。比如通過(guò)代碼設(shè)置每10分鐘跑一次,

schedule.every(10).minutes.do(job) # 每10分鐘執(zhí)行一次任務(wù)

結(jié)果出現(xiàn)

但是即下一次執(zhí)行時(shí)間是從上一次程序運(yùn)行結(jié)束時(shí)間+10min來(lái)的,而我希望的應(yīng)該是從上一次程序開(kāi)始運(yùn)行+10min,即正確的應(yīng)該是10:20:21,這樣下去會(huì)導(dǎo)致時(shí)間延遲越來(lái)越大。

解決方法

只需要加上一個(gè)具體時(shí)刻(這里設(shè)置的是15s):

schedule.every(10).minutes.at(":15").do(job) # 每10分鐘過(guò)15s執(zhí)行程序

也就是說(shuō),在10:00:21開(kāi)啟服務(wù),

第一次執(zhí)行 10:10:15,
第二次執(zhí)行 10:20:15,
第三次執(zhí)行 10:30:15,

這樣就解決了程序運(yùn)行時(shí)間導(dǎo)致的時(shí)間延遲問(wèn)題。

注意?。?! 首次開(kāi)啟服務(wù),一定要在當(dāng)前時(shí)間的15秒之后運(yùn)行程序,才是正常的。

比如在10:00:08開(kāi)啟服務(wù),下一次會(huì)在10:09:15分執(zhí)行(異常)

比如在10:00:21開(kāi)啟服務(wù),下一次會(huì)在10:10:15分執(zhí)行(正常)

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python如何獲取Prometheus監(jiān)控?cái)?shù)據(jù)

    python如何獲取Prometheus監(jiān)控?cái)?shù)據(jù)

    這篇文章主要介紹了python如何獲取Prometheus監(jiān)控?cái)?shù)據(jù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • 解決Tensorboard可視化錯(cuò)誤:不顯示數(shù)據(jù) No scalar data was found

    解決Tensorboard可視化錯(cuò)誤:不顯示數(shù)據(jù) No scalar data was found

    今天小編就為大家分享一篇解決Tensorboard可視化錯(cuò)誤:不顯示數(shù)據(jù) No scalar data was found,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • 關(guān)于python爬蟲(chóng)的原理解析

    關(guān)于python爬蟲(chóng)的原理解析

    這篇文章主要介紹了python爬蟲(chóng)原理,今天我們要向大家詳細(xì)解說(shuō)python爬蟲(chóng)原理,什么是python爬蟲(chóng),python爬蟲(chóng)工作的基本流程是什么等內(nèi)容,希望對(duì)這正在進(jìn)行python爬蟲(chóng)學(xué)習(xí)的同學(xué)有所幫助
    2023-07-07
  • 詳解python里使用正則表達(dá)式的分組命名方式

    詳解python里使用正則表達(dá)式的分組命名方式

    這篇文章主要介紹了詳解python里使用正則表達(dá)式的分組命名方式的相關(guān)資料,希望通過(guò)本文能幫助到大家,需要的朋友可以參考下
    2017-10-10
  • python實(shí)現(xiàn)五子棋算法

    python實(shí)現(xiàn)五子棋算法

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)五子棋算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Python還能這么玩之用Python做個(gè)小游戲的外掛

    Python還能這么玩之用Python做個(gè)小游戲的外掛

    玩過(guò)電腦游戲的同學(xué)對(duì)于外掛肯定不陌生,但是你在用外掛的時(shí)候有沒(méi)有想過(guò)外掛怎么制作出來(lái)的呢?現(xiàn)在來(lái)看一下怎么制作一個(gè)外掛,首先說(shuō)下,這里的游戲外掛的概念,和那些大型網(wǎng)游里的外掛可不同,不能自動(dòng)打怪,主要為了提高一下編程技術(shù),需要的朋友可以參考下
    2021-06-06
  • Python運(yùn)算符&=使用實(shí)例探究

    Python運(yùn)算符&=使用實(shí)例探究

    這篇文章主要為大家介紹了Python運(yùn)算符&=使用實(shí)例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • 用Python實(shí)現(xiàn)最速下降法求極值的方法

    用Python實(shí)現(xiàn)最速下降法求極值的方法

    今天小編就為大家分享一篇用Python實(shí)現(xiàn)最速下降法求極值的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-07-07
  • Python?Flask?上傳文件測(cè)試示例

    Python?Flask?上傳文件測(cè)試示例

    這篇文章主要為大家介紹了Python?Flask?上傳文件測(cè)試的方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • 在Python中使用元類(lèi)的教程

    在Python中使用元類(lèi)的教程

    這篇文章主要介紹了在Python中使用元類(lèi)的教程,是Python當(dāng)中的基礎(chǔ)知識(shí),代碼基于Python2.x版本,需要的朋友可以參考下
    2015-04-04

最新評(píng)論

略阳县| 沧州市| 金门县| 萝北县| 内丘县| 郧西县| 佛坪县| 新平| 银川市| 辽阳县| 南充市| 枝江市| 洪洞县| 运城市| 唐河县| 新宁县| 宁阳县| 稻城县| 吉首市| 蕉岭县| 永宁县| 万源市| 祁阳县| 长泰县| 新民市| 苗栗县| 县级市| 老河口市| 府谷县| 城口县| 宝山区| 手机| 大邑县| 泰州市| 城固县| 博爱县| 深水埗区| 定安县| 土默特左旗| 巴楚县| 都昌县|