Python可以用于創(chuàng)建定時(shí)任務(wù),但通常需要借助第三方庫(kù)來(lái)實(shí)現(xiàn)。以下是一些常用的Python定時(shí)任務(wù)庫(kù):
APScheduler:一個(gè)輕量級(jí)、可擴(kuò)展的定時(shí)任務(wù)庫(kù),支持多種觸發(fā)器(如固定間隔、固定時(shí)間、延遲等)和線程池。
安裝:pip install apscheduler
示例代碼:
from apscheduler.schedulers.blocking import BlockingScheduler
def job():
print("Hello, World!")
scheduler = BlockingScheduler()
scheduler.add_job(job, 'interval', seconds=5)
scheduler.start()
Celery:一個(gè)分布式任務(wù)隊(duì)列,可以用于處理定時(shí)任務(wù)和后臺(tái)任務(wù)。支持多種消息代理(如RabbitMQ、Redis等)。
安裝:pip install celery
示例代碼:
from celery import Celery
app = Celery('tasks', broker='pyamqp://guest@localhost//')
@app.task
def add(x, y):
return x + y
if __name__ == '__main__':
result = add.delay(4, 6)
print(result.get(timeout=1))
Python的內(nèi)置庫(kù)time和schedule也可以用于創(chuàng)建簡(jiǎn)單的定時(shí)任務(wù),但功能相對(duì)有限。 示例代碼(使用time):
import time
def job():
print("Hello, World!")
while True:
job()
time.sleep(5)
根據(jù)你的需求選擇合適的庫(kù)來(lái)實(shí)現(xiàn)定時(shí)任務(wù)。如果你需要更復(fù)雜的任務(wù)調(diào)度和分布式處理,建議使用APScheduler或Celery。