记录一次使用thinkphp异步处理消息流程

1、启动redis   window下下载redis服务,请自行百度。

cd redis 目录下

启动服务:

redis-server.exe redis.windows.conf


如上图就是启动成功了

2、下载可视化工具:

如下图就连接成功


3、就可以愉快的敲代码了

首先创建一个controller和action    因为我用的是thinkphp5框架

目录可以自定义   加入队列创建好了


然后创建消费类   消费类目录也可以自定义


如上图这样就自定义完了

我是在抽奖的时候加入队列




这块是执行消费命令  

下面命令是只执行一次任务   用于做调试

php think queue:work --queue helloJobQueue


队列执行:

window下执行queue:listen 会报错  这是正常  放到linux下正常

php think queue:listen --queue helloJobQueue --delay 0 --sleep 3

php think queue:listen \

--queue  helloJobQueue \  //监听的队列的名称

--delay  0 \        //如果本次任务执行抛出异常且任务未被删除时,设置其下次执行前延迟多少秒,默认为0

--memory 128 \      //该进程允许使用的内存上限,以M 为单位

--sleep  3 \        //如果队列中无任务,则多长时间后重新检查

--tries  0 \        //如果任务已经超过重发次数上限,则进入失败处理逻辑,默认为0

--timeout 60        // work 进程允许执行的最长时间,以秒为单位


你可能感兴趣的:(记录一次使用thinkphp异步处理消息流程)