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

Magazine
Marque
Linux Pratique
Numéro
88
Mois de parution
mars 2015
Domaines


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

Pour fonctionner correctement, il nécessite l'utilisation d'un courtier...

Cet article est réservé aux abonnés. Il vous reste 90% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Les utilitaires relatifs aux namespaces

Magazine
Marque
GNU/Linux Magazine
Numéro
240
Mois de parution
septembre 2020
Domaines
Résumé

Après un premier article [1] sur la notion de namespace et de conteneur avec un passage en revue des appels système, ce second opus se concentre sur les commandes mises à disposition de l’utilisateur.

Supervision des architectures à microservices avec Prometheus

Magazine
Marque
Linux Pratique
Numéro
121
Mois de parution
septembre 2020
Domaines
Résumé

Lorsqu’on supervise des services statiques, tel qu’un serveur apache ou un serveur de base de données, on se concentre sur le bon fonctionnement de ces derniers (réponse aux requêtes, état : démarré ou non...) et donc un outil de supervision est nécessaire pour évaluer le statut du service en question. Un outil comme Nagios est destiné à ce type de supervision. Mais si nos services sont susceptibles de disparaître à tout moment et sont remplacés par de nouvelles instances, comment pourra-t-on les superviser ? S’ils ne sont pas déployés sur leurs hôtes d’origine, comment peut-on les localiser dans ce cas ? Et si ces services sont sous forme de conteneurs, comment alors superviser les processus à l’intérieur de ces conteneurs ? Et enfin, si ces services sont déployés dans un orchestrateur à l’instar de Kubernetes, et donc sous forme de pod, comment superviser l’ensemble de ces pods repartis sur différents nœuds ? Dans cet article, nous répondons à toutes ces questions avec des cas pratiques. Mais voici déjà un indice concernant la réponse : Prometheus.

Premiers pas et prérequis

Magazine
Marque
Linux Pratique
HS n°
Numéro
48
Mois de parution
septembre 2020
Domaines
Résumé

Dans ce premier chapitre, nous allons aborder de nombreux sujets, allant du respect des conditions d’utilisation de « Red Hat Enterprise Linux » (RHEL), de l’installation du système, de sa connexion au réseau « Red Hat » jusqu’à la description de notre cas d’étude. Une fois ces prérequis évoqués et ces étapes préliminaires étudiées, nous passerons au vif du sujet en installant Ansible, que nous utiliserons dans le prochain chapitre afin de commencer à mettre en place notre serveur.

Tendance actuelle : la conteneurisation d'applications

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
110
Mois de parution
septembre 2020
Domaines
Résumé

Actuellement, il est fréquent de voir des applications proposées sous la forme d'un conteneur. Chaque mise en conteneur – ou conteneurisation – d'une application est particulière et j'ai justement dû récemment me plier à l'exercice : je partage avec vous mon expérience dans cet article.