溫馨提示×

Python定時(shí)任務(wù)能掌握嗎

小樊
81
2024-11-07 05:40:25
欄目: 編程語言

當(dāng)然可以!Python中有幾個(gè)庫可以用來創(chuàng)建定時(shí)任務(wù),其中最常用的是scheduleAPScheduler

schedule是一個(gè)簡單易用的庫,可以用來安排函數(shù)在特定的時(shí)間執(zhí)行。它的基本用法如下:

import schedule
import time

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

# 每隔10秒執(zhí)行一次job函數(shù)
schedule.every(10).seconds.do(job)

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

APScheduler則是一個(gè)功能更強(qiáng)大的庫,支持更多的調(diào)度策略,如每天、每周、每月等。它的基本用法如下:

from apscheduler.schedulers.background import BackgroundScheduler

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

# 創(chuàng)建一個(gè)后臺(tái)調(diào)度器
scheduler = BackgroundScheduler()

# 添加一個(gè)定時(shí)任務(wù),每天上午8點(diǎn)執(zhí)行job函數(shù)
scheduler.add_job(job, 'cron', hour=8, minute=0)

# 啟動(dòng)調(diào)度器
scheduler.start()

# 等待程序結(jié)束
try:
    while True:
        time.sleep(1)
except (KeyboardInterrupt, SystemExit):
    # 關(guān)閉調(diào)度器
    scheduler.shutdown()

這兩個(gè)庫都可以滿足大部分定時(shí)任務(wù)的需求,你可以根據(jù)自己的需求選擇合適的庫來使用。如果你需要更復(fù)雜的調(diào)度策略,還可以考慮使用Celery等分布式任務(wù)隊(duì)列。

0