Invoering
Beanstalkd is een wachtrij-server die tijdrovende taken asynchroon uitvoert. Het is erg handig als u een applicatie (web, mobiel, etc.) beheert of ontwikkelt die tijdrovende taken moet uitvoeren (zoals het verzenden van e-mails) en u niet wilt dat uw gebruikers wachten terwijl de taak wordt uitgevoerd. U kunt taken in de wachtrij plaatsen met Beanstalkd en uw toepassing naar de volgende bewerking laten gaan.
Beanstalk Console is een webbeheerinterface voor Beanstalkd die in PHP is geschreven. Het biedt een gebruiksvriendelijke interface die u kunt gebruiken om alle taken en hun huidige status te zien (dringend, gereed, gereserveerd, vertraagd en begraven).
Installatie
-
Draai een Vultr-serverinstantie met Ubuntu 14.10 x64 en SSH op de server nadat de provisioning is voltooid.
-
Installeer Beanstalkd.
sudo apt-get update
sudo apt-get install -y beanstalkd
-
Installeer Beanstalk Console met behulp van PHP's pakketbeheerder, 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
Beanstalk uitvoeren
-
Zorg ervoor dat Beanstalkd actief is.
sudo service beanstalkd start
-
Start Beanstalk Console door naar de directory te gaan waar deze is geïnstalleerd en een PHP-serverinstantie te starten.
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*
-
Navigeer naar http://[vultr-instance-ip]:7654
. U wordt begroet met een "Hallo!" scherm met de knop "Server toevoegen". Klik op de knop en accepteer de standaardinstellingen (localhost: 11300).
Een ding om op te merken is dat je PHP niet met Beanstalk hoeft te gebruiken. Beanstalk is technologie-agnostisch. Er zijn ook twee kanten aan een wachtrij: taken toevoegen en taken verwijderen. Het verwijderen van banen wordt meestal gedaan door wat we een "werkproces" noemen. Als uw technologiestack PHP gebruikt, kunt u Pheanstalk gebruiken om beide taken uit te voeren.
Gevolgtrekking
Een wachtrijserver die taken asynchroon op de achtergrond kan uitvoeren, is een must, aangezien gebruikers verwachten dat dingen onmiddellijk met uw toepassing gebeuren. Beanstalkd is een beproefde wachtrij-server die wachttijdproblemen met uw applicaties kan verminderen, waardoor uw gebruikers rijkere ervaringen opdoen.