Une introduction aux gestionnaires de tâches distribuées avec Celery

Magazine
Marque
SysOps Pratique
Numéro
88
Mois de parution
mars 2015
Spécialité(s)


Résumé
Les gestionnaires de tâches (« task queue » en anglais) sont un mécanisme permettant de distribuer une charge de travail à plusieurs threads ou machines. La charge de travail est divisée en une multitude d'unités de travail qui sont disposées dans ce gestionnaire de tâches. Des « processus tâcherons » (workers en anglais) dédiés vont aller en permanence vérifier s'il reste des unités de travail à traiter et dans l'affirmative, prendre une des unités et l'exécuter. Les « courtiers » (brokers en anglais) servent d'agents de liaison et transmettent les messages permettant de faire circuler l'information.Celery permet de mettre en place aisément une architecture permettant de faire travailler de multiples processus tâcherons et des courtiers en bonne harmonie.

Celery est un projet écrit en Python qui fonctionne en Python 2 ou Python 3, mais pas seulement. Le protocole utilisé peut être implémenté dans divers langages et il en existe déjà pour Ruby, Node.js ou encore PHP. Il est spécifiquement conçu pour les opérations en temps réel, mais permet la planification de tâches. Nous allons détailler les concepts sur lesquels repose son fonctionnement, la manière de l'installer et de l'utiliser.

1. Installer Celery

Celery étant écrit en Python, il peut tout simplement s'installer à l'aide du gestionnaire de paquets python :

# pip install celery

La suite est réservée aux abonnés. Il vous reste 90% à découvrir.
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Envie de lire la suite ? Rejoignez Connect
Je m'abonne maintenant