」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何在 Python 中建立類似 Cron 的調度?

如何在 Python 中建立類似 Cron 的調度?

發佈於2024-12-22
瀏覽:412

How Can I Create Cron-Like Scheduling in Python?

Python 類別 Cron 調度

基於靈活表達式的調度任務的需求出現在各種環境中。雖然 cron 在許多環境中都能實現此目的,但它可能並不普遍可用或可行。在這種情況下,Python 提供了多種選項來建立您自己的類似 cron 的排程器。

使用調度庫的輕量級方法

如果輕量級且純粹基於Python 的解決方案是根據需要,schedule 庫提供了一個簡單而富有表現力的介面。它允許使用類似 cron 的表達式來調度任務:

import schedule
import time

def job():
    print("I'm working...")

schedule.every(10).minutes.do(job)
schedule.every().hour.do(job)
schedule.every().day.at("10:30").do(job)

while 1:
    schedule.run_pending()
    time.sleep(1)

在此範例中,job() 函數將定期執行。您可以修改表達式來定義複雜的時間表,例如工作日上午 9 點到下午 5 點之間每 2 小時一次。

替代方法

如果時間表庫沒有滿足您的特定要求,請考慮以下替代方法:

  • apscheduler :更全面的調度支援多個後端的庫,包括本地線程和Celery。
  • crontab: 一個模擬 crontab 指令的 Python 包,允許直接調度 shell 指令。
  • celery-beat:與Celery分散式任務佇列整合的調度器。

記住,定義時您自己的調度程序,您將需要在單獨的線程中處理啟動Python函數以避免阻塞主進程。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3