TP5的消息队列
首先看下项目中是否有think-queue这个目录
位置在项目下的/vendor/topthink目录下,如果该文件得自己用composer去安装,安装composer的具体步骤可以参考
http://www.runoob.com/w3cnote/composer-install-and-usage.html
安装think-queue请先进入到项目的根目录,然后运行
composer require topthink/think-queue
这时候如果有了think-queue文件夹,再运行
php think queue:work -h
查看是否安装成功,如果出现下面这种情况,则安装成功。
接下来要配置队列,queue内置了四种驱动,推荐使用redis驱动。配置文件在application/extra/queue.php,具体配置如下
配置完成后就是消息的创建与推送了。首先要添加队列
这只是控制器中的一个方法,记得不要忘了use think\Queue;
然后具体的消息队列执行代码如下
到此所有的代码都准备完毕了,我们成功地经历了一个消息的 创建 -> 推送 -> 消费 -> 删除 的基本流程。代码的文件路径可以根据命名空间查看,上面添加队列的代码只要放在任意一个控制器内就行。部分目录结构如下:
接下来就是启用队列的监听模式了,因为我们不可能每次一有任务加进来就去手动执行一次队列。队列的监听模式有两种,配置参数如下:
所以我们只需到项目根目录执行
php think queue:listen --queue syncJob
即可,具体根据项目实际情况加上不同的参数。而且我们具体是不能要让命令以守护进程执行。所以我们可以换成下面这条命令
nohup php think queue:listen --queue syncJob &
到此,整个消息队列就完成了。