當然可以!Python中有幾個庫可以用來創建定時任務,其中最常用的是schedule
和APScheduler
。
schedule
是一個簡單易用的庫,可以用來安排函數在特定的時間執行。它的基本用法如下:
import schedule
import time
def job():
print("I'm working...")
# 每隔10秒執行一次job函數
schedule.every(10).seconds.do(job)
while True:
schedule.run_pending()
time.sleep(1)
APScheduler
則是一個功能更強大的庫,支持更多的調度策略,如每天、每周、每月等。它的基本用法如下:
from apscheduler.schedulers.background import BackgroundScheduler
def job():
print("I'm working...")
# 創建一個后臺調度器
scheduler = BackgroundScheduler()
# 添加一個定時任務,每天上午8點執行job函數
scheduler.add_job(job, 'cron', hour=8, minute=0)
# 啟動調度器
scheduler.start()
# 等待程序結束
try:
while True:
time.sleep(1)
except (KeyboardInterrupt, SystemExit):
# 關閉調度器
scheduler.shutdown()
這兩個庫都可以滿足大部分定時任務的需求,你可以根據自己的需求選擇合適的庫來使用。如果你需要更復雜的調度策略,還可以考慮使用Celery
等分布式任務隊列。