Fiche technique | |
---|---|
Type de produit : | Cadre d'application |
Langage de programmation : | Python |
Catégorie : | Intergiciel orienté message |
Auteur : | Ask Solem |
Date de publication : | 2009 à maintenant |
Licence : | New BSD License |
Site Web : | https://docs.celeryproject.org/ |
Introduction
Le cadre d'application Celery est un système distribué simple, flexible et fiable pour traiter de grandes quantités de messages, tout en fournissant aux opérations les outils nécessaires pour maintenir un tel système. Il s'agit d'une file d'attente de tâches axée sur le traitement en temps réel, tout en prenant en charge la planification des tâches.
Voici les caractéristiques principales de Celery :
- Exécution désynchronisée : Les tâches peuvent être exécutées de manière asynchrone, ce qui signifie qu'elles peuvent s'exécuter indépendamment de la logique principale de l'application. Par exemple, vous pouvez déléguer le traitement d'une tâche longue à Celery et continuer à répondre aux requêtes utilisateur.
- Exécution distribuée : Celery est conçu pour être distribué. Vous pouvez configurer plusieurs noeuds de traitement prenant en charge des tâches provenant de différents serveurs ou applications, permettant ainsi de distribuer la charge sur plusieurs machines.
- Planification : Il offre aussi une capacité de planification de tâches périodiques, semblable à un cron job, mais avec plus de flexibilité et d'intégration dans une application Python.
- Résilience : Celery gère les files d'attente de tâches avec l'aide de courtiers de messages comme RabbitMQ ou Redis. Il est capable de réessayer les tâches échouées et de conserver l'état des tâches en cours ou terminées.
- Intégration avec Django et Flask : Il est souvent utilisé avec les cadres d'applications Web comme Django ou Flask pour gérer des tâches en arrière-plan, comme l'envoi de courriels, la gestion des sessions, et autres travaux lourds.
Dernière mise à jour : Mercredi, le 13 janvier 2021