溫馨提示×

Python定時(shí)任務(wù)會(huì)很難嗎

小樊
81
2024-11-07 05:39:26
欄目: 編程語言

Python定時(shí)任務(wù)并不難,有很多庫可以幫助你輕松地實(shí)現(xiàn)定時(shí)任務(wù)。以下是一些常用的庫:

  1. schedule:這是一個(gè)簡單易用的庫,可以用來創(chuàng)建定時(shí)任務(wù)。它的基本用法如下:
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)
  1. APScheduler:這是一個(gè)功能強(qiáng)大的庫,支持多種觸發(fā)器(如固定間隔、固定時(shí)間、cron表達(dá)式等)和多種任務(wù)存儲(chǔ)方式(如內(nèi)存、數(shù)據(jù)庫等)。以下是一個(gè)簡單的示例:
from apscheduler.schedulers.blocking import BlockingScheduler

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

scheduler = BlockingScheduler()

# 每隔10秒執(zhí)行一次job函數(shù)
scheduler.add_job(job, 'interval', seconds=10)

scheduler.start()
  1. Celery:這是一個(gè)分布式任務(wù)隊(duì)列,可以用來處理大量的定時(shí)任務(wù)和后臺(tái)任務(wù)。雖然它比上述兩個(gè)庫更復(fù)雜,但它提供了更多的功能和更好的可擴(kuò)展性。以下是一個(gè)簡單的示例:
from celery import Celery
from datetime import timedelta

app = Celery('tasks', broker='pyamqp://guest@localhost//')

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

# 每隔10秒執(zhí)行一次job函數(shù)
job.apply_async(args=[], countdown=10)

總之,Python定時(shí)任務(wù)并不難,你可以根據(jù)自己的需求選擇合適的庫來實(shí)現(xiàn)。

0