introduction
Beanstalkd est un serveur de file d'attente de travail qui exécute des tâches chronophages de manière asynchrone. Cela s'avère très pratique si vous gérez ou développez une application (Web, mobile, etc.) qui doit effectuer des tâches longues (comme l'envoi d'e-mails), et que vous ne voulez pas que vos utilisateurs attendent pendant l'exécution de la tâche. Vous pouvez mettre en file d'attente des tâches avec Beanstalkd et faire passer votre application à l'opération suivante.
Beanstalk Console est une interface d'administration Web pour Beanstalkd qui a été écrite en PHP. Il fournit une interface conviviale que vous pouvez utiliser pour voir tous les travaux et leurs états actuels (urgent, prêt, réservé, retardé et enterré).
Installation
-
Faites tourner une instance de serveur Vultr exécutant Ubuntu 14.10 x64 et SSH sur le serveur une fois le provisionnement terminé.
-
Installez Beanstalkd.
sudo apt-get update
sudo apt-get install -y beanstalkd
-
Installez Beanstalk Console à l'aide du gestionnaire de packages PHP, Composer.
sudo apt-get install -y php5 php5-cli
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
composer create-project ptrofimov/beanstalk_console -s dev /app/beanstalk-console
# Note that "/app/beanstalk-console" can be any directory you choose
Exécuter Beanstalk
-
Assurez-vous que Beanstalkd est en cours d'exécution.
sudo service beanstalkd start
-
Démarrez Beanstalk Console en accédant au répertoire où il a été installé et en démarrant une instance de serveur PHP.
cd /app/beanstalk-console
php -S [vultr-instance-ip]:7654 -t public
# *where **[vultr-instance-ip]** is the IP address of the Vultr instance you spun up or a domain name pointing to it*
-
Accédez à http://[vultr-instance-ip]:7654
. Vous serez accueilli avec un "Bonjour!" écran contenant un bouton "Ajouter un serveur". Cliquez sur le bouton et acceptez les valeurs par défaut (localhost: 11300).
Une chose à noter ici est que vous n'avez pas besoin d'utiliser PHP avec Beanstalk. Beanstalk est indépendant de la technologie. En outre, il y a deux côtés dans une file d'attente: l'ajout et la suppression de travaux. La suppression d'emplois est généralement effectuée par ce que nous appelons un «processus de travail». Si votre pile technologique utilise PHP, vous pouvez utiliser Pheanstalk pour effectuer les deux tâches.
Conclusion
Un serveur de file d'attente qui peut exécuter des tâches en arrière-plan de manière asynchrone est un must, car les utilisateurs s'attendent à ce que les choses se produisent instantanément avec votre application. Beanstalkd est un serveur de file d'attente de travail éprouvé qui peut réduire les problèmes de latence avec vos applications, ce qui permet à vos utilisateurs d'avoir des expériences plus riches.