欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

使用schedule庫

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點15執(zhí)行
schedule.every(10).minutes.do(job) # 每10分鐘執(zhí)行一次
schedule.every().hour.do(job) # 每小時執(zhí)行一次
schedule.every().day.at("10:30").do(job) # 每天十點半執(zhí)行
schedule.every(5).to(10).minutes.do(job) # 每5-10分鐘隨機執(zhí)行一次
schedule.every().monday.do(job) # 每周一執(zhí)行
schedule.every().minute.at(":17").do(job) # 每分鐘的17秒執(zhí)行一次
while True:
    schedule.run_pending() # 運行所有可運行的任務

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

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

注意,如果程序執(zhí)行的時間要比你設定的時間間隔短,就是下一次定時程序開始執(zhí)行的時候你上一次程序還沒有執(zhí)行完的話,就會新開進程。

進程堆疊多了就會成災難

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

通過schedule設置定時執(zhí)行某個任務

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

踩坑問題

第一個注意的點是,你要先在手動運行程序來開啟服務(此時程序會暫停),然后才會在指定時間繼續(xù)執(zhí)行。

第二個注意的點是,在使用時,因為程序運行時間的存在,會出現(xiàn)時間延遲問題。比如通過代碼設置每10分鐘跑一次,

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

結果出現(xiàn)

但是即下一次執(zhí)行時間是從上一次程序運行結束時間+10min來的,而我希望的應該是從上一次程序開始運行+10min,即正確的應該是10:20:21,這樣下去會導致時間延遲越來越大。

解決方法

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

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

也就是說,在10:00:21開啟服務,

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

這樣就解決了程序運行時間導致的時間延遲問題。

注意?。。?/strong> 首次開啟服務,一定要在當前時間的15秒之后運行程序,才是正常的。

比如在10:00:08開啟服務,下一次會在10:09:15分執(zhí)行(異常)

比如在10:00:21開啟服務,下一次會在10:10:15分執(zhí)行(正常)

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 深入了解Python中yield?from語法的使用

    深入了解Python中yield?from語法的使用

    yield?from?是在Python3.3才出現(xiàn)的語法,這篇文章主要為大家介紹了yield?from語法的具體使用,文中的示例代碼簡潔易懂,感興趣的小伙伴可以收藏一下
    2023-05-05
  • 詳解Python正則表達式re模塊

    詳解Python正則表達式re模塊

    這篇文章主要介紹了Python正則表達式re模塊,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • 使用基于Python的Tornado框架的HTTP客戶端的教程

    使用基于Python的Tornado框架的HTTP客戶端的教程

    這篇文章主要介紹了制作一個基于Python的Tornado框架的HTTP客戶端的教程,Tornado的異步特性使其能夠獲得很好的性能,需要的朋友可以參考下
    2015-04-04
  • 如何基于Python實現(xiàn)word文檔重新排版

    如何基于Python實現(xiàn)word文檔重新排版

    這篇文章主要介紹了如何基于Python實現(xiàn)word文檔重新排版,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-09-09
  • 基于 Django 的手機管理系統(tǒng)實現(xiàn)過程詳解

    基于 Django 的手機管理系統(tǒng)實現(xiàn)過程詳解

    這篇文章主要介紹了基于 Django 的手機管理系統(tǒng)過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • Python下調用Linux的Shell命令的方法

    Python下調用Linux的Shell命令的方法

    有時候難免需要直接調用Shell命令來完成一些比較簡單的操作,這篇文章主要介紹了Python下調用Linux的Shell命令的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • python迭代dict的key和value的方法

    python迭代dict的key和value的方法

    今天小編就為大家分享一篇python迭代dict的key和value的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • Python實現(xiàn)平行坐標圖的繪制(plotly)方式

    Python實現(xiàn)平行坐標圖的繪制(plotly)方式

    今天小編就為大家分享一篇Python實現(xiàn)平行坐標圖的繪制(plotly)方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • 如何利用Python獲取鼠標的實時位置

    如何利用Python獲取鼠標的實時位置

    這篇文章主要給大家介紹了關于如何利用Python獲取鼠標的實時位置的相關資料,主要利用的是pyautogui,一個自動化鍵鼠操作的Python類庫,需要的朋友可以參考下
    2022-01-01
  • keras 自定義loss model.add_loss的使用詳解

    keras 自定義loss model.add_loss的使用詳解

    這篇文章主要介紹了keras 自定義loss model.add_loss的使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06

最新評論