上一篇:PHP 队列的实现(一)- database实现队列
背景
上一篇捯饬了使用database作为driver,实现队列的消息发送,这次记录一下使用Beanstalkd 来实现队列消息发送
根据laravel官方文档,总共有数据库、Beanstalkd,Amazon SQS,Redis这几种常用的驱动,先来捯饬一下Beanstalkd吧
第一步:安装Beanstalkd
- 默认的homestead是vagrant身份,所以使用sudo来安装
sudo apt-get install beanstalkd
第二步:安装扩展
根据laravel官方文档,只需要安装pda/pheanstalk扩展即可
composer require pda/pheanstalk
第三步:修改项目的驱动配置
打开env文件,修改QUEUE_CONNECTION=beanstalkd,即可
Redis的实现
- 通过命令行,加载Redis需要的扩展即可,其实也就一行命令
composer require redis/predis
同样地,将env文件中的驱动调整为Redis即可
但是,这里需要修改一下database.php文件
database.php如下修改
其实项目开发配置好以后,是需要服务器去配置的,因为需要保证queue:work一直运行,这个就用到了supervisor了,laravel文档也有讲述怎么配置supervisor去维护队列,这里是我自己配置的项目,点击供参考
写在最后
使用内存方式,不方便的可能是不能直观地看到执行情况,其实也是有很多图形化界面工具的