Heim >Backend-Entwicklung >Python-Tutorial >So verwenden Sie geplante Aufgaben in FastAPI, um Hintergrundarbeiten auszuführen
So verwenden Sie geplante Aufgaben in FastAPI, um Hintergrundarbeiten auszuführen
Angesichts der schnellen Entwicklung von Internetanwendungen müssen viele Anwendungen einige Hintergrundaufgaben regelmäßig ausführen, z. B. Datenbereinigung, E-Mail-Versand, Sicherung usw. Um dieses Problem zu lösen, können wir geplante Aufgaben verwenden, um Hintergrundarbeiten automatisch auszuführen. In diesem Artikel stellen wir vor, wie Sie geplante Aufgaben im FastAPI-Framework verwenden, um Hintergrundarbeiten auszuführen.
FastAPI ist ein modernes, schnelles (hochleistungsfähiges) Webframework, das hauptsächlich zum Erstellen von APIs verwendet wird. Aufgrund seiner Benutzerfreundlichkeit und Effizienz eignet es sich ideal für die Erstellung von Anwendungen, die Aufgaben im Hintergrund ausführen.
Zuerst müssen wir die erforderlichen Bibliotheken installieren. Führen Sie den folgenden Befehl im Terminal aus, um FastAPI und andere verwandte Bibliotheken zu installieren:
$ pip install fastapi $ pip install uvicorn $ pip install apscheduler
Bevor wir mit dem Schreiben von Code beginnen, müssen wir zunächst die APScheduler-Bibliothek verstehen, eine einfache und leistungsstarke Bibliothek für geplante Aufgaben für Python. Diese Bibliothek kann verschiedene Arten geplanter Aufgabenanforderungen verarbeiten, z. B. Intervallausführungsaufgaben, Ausführungsaufgaben zu bestimmten Zeiten, geplante Triggeraufgaben usw.
Als nächstes können wir mit dem Schreiben von Code beginnen.
Zuerst müssen wir die erforderlichen Module importieren:
from fastapi import FastAPI from apscheduler.schedulers.background import BackgroundScheduler
Dann erstellen Sie ein FastAPI-Anwendungsobjekt:
app = FastAPI()
Als nächstes erstellen Sie ein Hintergrund-Task-Executor-Objekt:
scheduler = BackgroundScheduler()
Dann definieren Sie eine Hintergrundaufgabenfunktion:
def background_task(): # 这里可以编写你的后台任务逻辑 # 例如数据清理、邮件发送、备份等 pass
Weiter , müssen wir eine API-Schnittstelle definieren, um die geplante Aufgabe zu starten:
@app.post("/start_task") async def start_task(): # 添加定时任务 scheduler.add_job(background_task, 'interval', minutes=30) # 启动任务调度器 scheduler.start() return {"message": "后台任务已启动"}
Schließlich müssen wir eine API-Schnittstelle definieren, um die geplante Aufgabe zu stoppen:
@app.post("/stop_task") async def stop_task(): # 关闭任务调度器 scheduler.shutdown() return {"message": "后台任务已停止"}
Jetzt haben wir den Hintergrund geschrieben, um die Ausführung der geplanten Aufgabe Working FastAPI zu verwenden Anwendung. Wir können den folgenden Befehl verwenden, um die Anwendung zu starten:
$ uvicorn main:app --reload
Dann können wir Tools wie Postman oder einen Browser verwenden, um auf die Schnittstelle zuzugreifen, um geplante Aufgaben zu starten und zu stoppen.
Durch den Zugriff auf die Schnittstelle http://localhost:8000/start_task
können wir geplante Aufgaben starten. Die geplante Aufgabe führt alle 30 Minuten eine Hintergrundaufgabe aus. http://localhost:8000/start_task
接口,我们可以启动定时任务。定时任务将会每隔30分钟执行一次后台任务。
通过访问http://localhost:8000/stop_task
http://localhost:8000/stop_task
können wir die geplante Aufgabe stoppen. Zusammenfassend stellt dieser Artikel vor, wie Sie geplante Aufgaben im FastAPI-Framework verwenden, um Hintergrundarbeiten auszuführen. Durch die Verwendung der APScheduler-Bibliothek können wir die automatische Ausführung geplanter Aufgaben problemlos implementieren. Ich hoffe, dieser Artikel hilft Ihnen! 🎜Das obige ist der detaillierte Inhalt vonSo verwenden Sie geplante Aufgaben in FastAPI, um Hintergrundarbeiten auszuführen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!