Ubuntu 14上的Beanstalkd和Beanstalk控制台

注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com

介绍

Beanstalkd是一个工作队列服务器,可以异步运行耗时的任务。如果您管理或开发需要执行耗时任务(例如发送电子邮件)的应用程序(Web,移动设备等),并且不想让用户在任务运行时等待,则它非常方便。您可以使用Beanstalkd将任务排队,并使您的应用程序继续进行下一个操作。

Beanstalk控制台是用PHP编写的Beanstalkd的Web管理界面。它提供了一个友好的界面,您可以用来查看所有作业及其当前状态(紧急,就绪,保留,延迟和掩埋)。

安装

启动正在运行的Vultr服务器实例 Ubuntu 14.10 x64 完成配置后,将SSH和SSH导入服务器。

安装Beanstalkd。

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

使用PHP的程序包管理器Composer安装Beanstalk控制台。

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

确保Beanstalkd正在运行。

sudo service beanstalkd start

通过转到安装它的目录并启动一个PHP服务器实例来启动Beanstalk控制台。

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*

导航 http://[vultr-instance-ip]:7654。您会收到“你好!”的问候。包含“添加服务器”按钮的屏幕。单击按钮并接受默认值(localhost:11300)。

这里要注意的一件事是,您不必将PHP与Beanstalk一起使用。 Beanstalk与技术无关。同样,队列有两个方面-添加作业和删除作业。删除工作通常通过我们称为“工作流程”的工作来完成。如果您的技术堆栈使用PHP,则可以使用 ean 执行这两个任务。

结论

必须考虑到用户希望应用程序立即发生事情,因此可以在后台异步运行作业的队列服务器。 Beanstalkd是久经考验的工作队列服务器,可以减少应用程序的延迟问题,从而使用户拥有更丰富的体验。

注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com