Comment utiliser les tâches planifiées dans FastAPI pour effectuer un travail en arrière-plan
Avec le développement rapide des applications Internet, de nombreuses applications ont des tâches en arrière-plan qui doivent être exécutées régulièrement, telles que le nettoyage des données, l'envoi d'e-mails, la sauvegarde, etc. Afin de résoudre ce problème, nous pouvons utiliser des tâches planifiées pour exécuter automatiquement un travail en arrière-plan. Dans cet article, nous expliquerons comment utiliser les tâches planifiées dans le framework FastAPI pour effectuer un travail en arrière-plan.
FastAPI est un framework Web moderne et rapide (haute performance) principalement utilisé pour créer des API. Sa facilité d'utilisation et son efficacité le rendent idéal pour créer des applications qui effectuent des tâches en tant que travailleurs en arrière-plan.
Tout d’abord, nous devons installer les bibliothèques requises. Exécutez la commande suivante dans le terminal pour installer FastAPI et d'autres bibliothèques associées :
$ pip install fastapi $ pip install uvicorn $ pip install apscheduler
Avant de commencer à écrire du code, nous devons d'abord comprendre la bibliothèque APScheduler, qui est une bibliothèque de tâches planifiées simple et puissante pour Python. Cette bibliothèque peut gérer différents types d'exigences de tâches planifiées, telles que les tâches d'exécution par intervalles, les tâches d'exécution à temps spécifié, les tâches de déclenchement planifiées, etc.
Ensuite, nous pouvons commencer à écrire du code.
Tout d'abord, nous devons importer les modules requis :
from fastapi import FastAPI from apscheduler.schedulers.background import BackgroundScheduler
Ensuite, créez un objet d'application FastAPI :
app = FastAPI()
Ensuite, créez un objet exécuteur de tâche en arrière-plan :
scheduler = BackgroundScheduler()
Ensuite, définissez une fonction de tâche en arrière-plan :
def background_task(): # 这里可以编写你的后台任务逻辑 # 例如数据清理、邮件发送、备份等 pass
Suivant , nous devons définir une interface API pour démarrer la tâche planifiée :
@app.post("/start_task") async def start_task(): # 添加定时任务 scheduler.add_job(background_task, 'interval', minutes=30) # 启动任务调度器 scheduler.start() return {"message": "后台任务已启动"}
Enfin, nous devons définir une interface API pour arrêter la tâche planifiée :
@app.post("/stop_task") async def stop_task(): # 关闭任务调度器 scheduler.shutdown() return {"message": "后台任务已停止"}
Maintenant, nous avons écrit l'arrière-plan pour utiliser l'exécution de la tâche planifiée Working FastAPI application. Nous pouvons utiliser la commande suivante pour démarrer l'application :
$ uvicorn main:app --reload
Ensuite, nous pouvons utiliser des outils tels que Postman ou un navigateur pour accéder à l'interface afin de démarrer et d'arrêter les tâches planifiées.
En accédant à l'interface http://localhost:8000/start_task
, nous pouvons démarrer des tâches planifiées. La tâche planifiée exécutera une tâche en arrière-plan toutes les 30 minutes. http://localhost:8000/start_task
接口,我们可以启动定时任务。定时任务将会每隔30分钟执行一次后台任务。
通过访问http://localhost:8000/stop_task
http://localhost:8000/stop_task
, nous pouvons arrêter la tâche planifiée. Pour résumer, cet article explique comment utiliser les tâches planifiées dans le framework FastAPI pour effectuer un travail en arrière-plan. En utilisant la bibliothèque APScheduler, nous pouvons facilement implémenter l'exécution automatique des tâches planifiées. J'espère que cet article vous sera utile ! 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!