1. 队列优势
- 任务执行流畅,无需等待。如团长批量发送提货通知(比如500条,正常操作发送完需要等待2分钟)。如开启了队列后,团长点击一下发送,后台队列服务就开始一条条发送,无需团长在操作页面等待发送完成。
- 可减轻秒杀环节高并发对服务器的压力。
- 可执行一些定时的任务。
2. 队列执行的功能(队列必须要开通,否则系统无法运营)
- 团员收货消息群发
- 自动关闭订单
- 支付成功后的团长分润
- 自动收货
- 自动上下架
- 秒杀分流
- 拼团自动退款和关闭订单
- 后台批量操作订单处理
- 后续增加的新功能
3. 查看队列运行状态
在Linux系统中,输入如下命令
ps -ef|grep yii
出现带前面是php 后面是你的网站目录下的/yii queueue/listen,代表正确开启
可以有多个队列进程,也可以只有一个
(推荐)方法一:队列开启教程——集成脚本一键开启(适用于原生环境、宝塔环境、lnmp、amh、wdcp,仅适用于CentOS)
- 确保系统为linux CentOS 6.0及以上
- 确保系统未安装过supervisor软件
- 确保已经删除PHP7.2如下禁用函数(如不会请看方法二、方法三的删除教程)
exec、shell_exec、proc_open、pcntl_signal、pcntl_signal_dispatch
- 连接SSH,切换到社区团购系统根目录
- 执行 bashqueue.sh
- 即可自动安装supervisor守护进程,然后自动开启队列
(不推荐)方法二:队列开启教程——非宝塔集成面板(适用于原生环境、lnmp、amh、wdcp)
(不推荐)方法三:宝塔面板——队列开启教程
1. 删除PHP7.2禁用函数
!!!!切记,每次升级PHP版本,宝塔会自动增加禁用函数,记得删除!!!!
exec、shell_exec、proc_open、pcntl_signal、pcntl_signal_dispatch
2. 安装Supervisor
3. 添加守护进程
安装完成后,点击设置,按图操作
名称可以随意填写,如:sqtg
启动用户填写:root
运行目录填写:/www
启动命令,复制下面,并把目录改为你的系统目录(确保该目录下面有yii文件)
/www/server/php/72/bin/php /www/wwwroot/系统目录/yii queue/listen
已启动代表正常,如果是已经停止,请检查是否把上面的禁用函数删除
!!特别注意
宝塔最新版存在bug,重启服务器之后队列无法自动启动,需要手动进入supervisor管理器,就是上图的界面,进入后则队列自动启动
!!特别注意
4. 查看日志
可以查看队列运行日志
5.数据不一致,如何重跑数据
简化版的队列数据重跑,删除文件后,系统已经做了定时凌晨1点平台不运营的情况下自动重跑数据,
具体文件目录。
删除该文件,队列会自动执行重跑任务
微q版本,对应目录addons/worldidc_sqtg/power/common/jobs/history5.txt