Beanstalkd and Beanstalk Console on Ubuntu 14

Introduction

Beanstalkd is a work queue server that runs time-consuming tasks asynchronously. It comes in very handy if you manage or develop an application (web, mobile, etc.) that needs to perform time-consuming tasks (like sending emails), and you don’t want your users to wait while the task is running. You can queue tasks with Beanstalkd and move your application on to the next operation.

Beanstalk Console is a PHP web admin interface for Beanstalkd. It provides a friendly interface for viewing all jobs and their current states (urgent, ready, reserved, delayed, and buried).

Installation

Spin up an AKLWEB HOST Server instance running Ubuntu 14.10 x64 and SSH into the server after it’s done provisioning.

Install Beanstalkd.

sudo apt-get update sudo apt-get install -y beanstalkd

Install Beanstalk Console by using PHP’s package manager, 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

Running Beanstalk

Make sure that Beanstalkd is running.

sudo service beanstalkd start

Start Beanstalk Console by going to the directory where it was installed and starting a PHP server instance.

cd /app/beanstalk-console
php -S [aklwebhost-instance-ip]:7654 -t public
# *where **[aklwebhost-instance-ip]** is the IP address of the AKLWEB HOST instance you spun up or a domain name pointing to it*

Navigate to http://[aklwebhost-instance-ip]:7654. You will be greeted with a “Hello!” screen that contains an “Add Server” button. Click the button and accept the defaults (localhost:11300).

One thing to note here is that you don’t have to use PHP with Beanstalk. Beanstalk is technology agnostic. Also, there are two sides to a queue – adding jobs and removing jobs. Removing jobs is usually done by what we refer to as a “worker process”. If your technology stack uses PHP, you can use Pheanstalk to perform both tasks.

Conclusion

A queue server that can run jobs in the background asynchronously is a must, considering users expect things to happen instantly with your application. Beanstalkd is a tried and tested work queue server that can reduce latency issues with your applications, thereby causing your users to have richer experiences.

We use cookies to personalize your experience. By continuing to visit this website you agree to our use of cookies

More