Beanstalk is a simple, fast work queue. Its interface is generic, but was originally designed for reducing the latency of page views in high-volume web applications by running time-consuming tasks asynchronously.
In this article, we will install Beanstalkd and Beanstalk Console. Beanstalkd is Beanstalk daemon instance that will manage all the queue data or jobs. Whereas Beanstalk Console will be used to monitor the jobs via web browser UI. We will install Apache Web Server for supporting Beanstalk Console.
Package Will Be Installed :
- Beanstalk Console
First we need to install epel-release that will be needed as beanstalkd repository. Then install beanstalk with yum command.
[root@localhost]# yum install -y epel-release [root@localhost]# yum install -y beanstalkd
Beanstalkd is installed on the machine. Start the instance and make beanstalk start when the machine is up with the following command.
[root@localhost]# systemctl start beanstalkd [root@localhost]# systemctl enable beanstalkd [root@localhost]# systemctl status beanstalkd
Install php and httpd for beanstalk console UI.
[root@localhost]# yum install -y httpd php
Then start httpd service with the following command. Add firewall configuration so the external connection is allowed to access the web server, or just stop the firewalld instance to allow all connection.
Beanstalk Console source is mostly written on php language. Install composer to manage libraries (install/update). Follow command bellow to install composer.
[root@localhost]# php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" [root@localhost]# php composer-setup.php --install-dir=/usr/local/bin --filename=composer [root@localhost]# composer --version
Then download the beanstalk console source and build with composer command. Point the output directory to httpd web server working directory, the default is /var/www/html/.
[root@localhost]# wget https://github.com/ptrofimov/beanstalk_console/archive/master.zip [root@localhost]# unzip master.zip [root@localhost]# cd beanstalk_console-master/ [root@localhost]# composer create-project ptrofimov/beanstalk_console -s dev /var/www/html/beanstalk-console
Create storage.json file for beanstalk console saves the data. Make sure the permission file is set properly, or just set the file is can be accessed everyone with chmod 777 command.
[root@localhost]# cd /var/www/html/beanstalk-console [root@localhost]# touch storage.json [root@localhost]# chmod 777 storage.json
Installation is finished, open your-ip/beanstalk-console/public on your browser and make sure beanstalk console is accessible. Click Add Server then put your beanstalk IP Address and let the port default to monitor and interact with beanstalk.