introduzione
Beanstalkd è un server della coda di lavoro che esegue attività che richiedono tempo in modo asincrono. È molto utile se gestisci o sviluppi un'applicazione (web, mobile, ecc.) Che deve eseguire attività che richiedono tempo (come l'invio di e-mail) e non vuoi che i tuoi utenti aspettino mentre l'attività è in esecuzione. Puoi mettere in coda le attività con Beanstalkd e far passare l'applicazione alla successiva operazione.
Beanstalk Console è un'interfaccia di amministrazione web per Beanstalkd che è stata scritta in PHP. Fornisce un'interfaccia intuitiva che puoi utilizzare per vedere tutti i lavori e i loro stati attuali (urgenti, pronti, riservati, ritardati e sepolti).
Installazione
-
Fai girare un'istanza del server Vultr che esegue Ubuntu 14.10 x64 e SSH nel server dopo aver eseguito il provisioning.
-
Installa Beanstalkd.
sudo apt-get update
sudo apt-get install -y beanstalkd
-
Installa Beanstalk Console utilizzando il gestore dei pacchetti di 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
Esecuzione di fagiolo magico
-
Assicurati che Beanstalkd sia in esecuzione.
sudo service beanstalkd start
-
Avviare Beanstalk Console andando alla directory in cui è stato installato e avviando un'istanza del server 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*
-
Vai a http://[vultr-instance-ip]:7654
. Sarai accolto con un "Ciao!" schermata che contiene un pulsante "Aggiungi server". Fare clic sul pulsante e accettare le impostazioni predefinite (localhost: 11300).
Una cosa da notare qui è che non devi usare PHP con Beanstalk. Beanstalk è tecnologia agnostica. Inoltre, ci sono due lati in una coda: l'aggiunta di lavori e la rimozione di lavori. La rimozione dei lavori viene generalmente eseguita da ciò che chiamiamo "processo di lavoro". Se il tuo stack tecnologico utilizza PHP, puoi utilizzare Pheanstalk per eseguire entrambe le attività.
Conclusione
Un server di coda in grado di eseguire i lavori in background in modo asincrono è un must considerando che gli utenti si aspettano che le cose accadano all'istante con l'applicazione. Beanstalkd è un server di code di lavoro collaudato che può ridurre i problemi di latenza con le tue applicazioni, facendo sì che gli utenti abbiano esperienze più ricche.