1. 队列优势

  1. 任务执行流畅,无需等待。如团长批量发送提货通知(比如500条,正常操作发送完需要等待2分钟)。如开启了队列后,团长点击一下发送,后台队列服务就开始一条条发送,无需团长在操作页面等待发送完成。
  2. 可减轻秒杀环节高并发对服务器的压力。
  3. 可执行一些定时的任务。

2. 队列执行的功能(队列必须要开通,否则系统无法运营)

  1. 团员收货消息群发
  2. 自动关闭订单
  3. 支付成功后的团长分润
  4. 自动收货
  5. 自动上下架
  6. 秒杀分流
  7. 拼团自动退款和关闭订单
  8. 后台批量操作订单处理
  9. 后续增加的新功能

3. 查看队列运行状态

在Linux系统中,输入如下命令

  1. ps -ef|grep yii

队列开启教程 - 图1
出现带前面是php 后面是你的网站目录下的/yii queueue/listen,代表正确开启
可以有多个队列进程,也可以只有一个

(推荐)方法一:队列开启教程——集成脚本一键开启(适用于原生环境、宝塔环境、lnmp、amh、wdcp,仅适用于CentOS)

  • 确保系统为linux CentOS 6.0及以上
  • 确保系统未安装过supervisor软件
  • 确保已经删除PHP7.2如下禁用函数(如不会请看方法二、方法三的删除教程)
  1. execshell_execproc_openpcntl_signalpcntl_signal_dispatch
  1. 连接SSH,切换到社区团购系统根目录
  2. 执行 bashqueue.sh
  3. 即可自动安装supervisor守护进程,然后自动开启队列

(不推荐)方法二:队列开启教程——非宝塔集成面板(适用于原生环境、lnmp、amh、wdcp)

(不推荐)方法三:宝塔面板——队列开启教程

1. 删除PHP7.2禁用函数

!!!!切记,每次升级PHP版本,宝塔会自动增加禁用函数,记得删除!!!!

  1. execshell_execproc_openpcntl_signalpcntl_signal_dispatch

队列开启教程 - 图2
队列开启教程 - 图3
队列开启教程 - 图4

2. 安装Supervisor

队列开启教程 - 图5

3. 添加守护进程

安装完成后,点击设置,按图操作
队列开启教程 - 图6
名称可以随意填写,如:sqtg
启动用户填写:root
运行目录填写:/www
启动命令,复制下面,并把目录改为你的系统目录(确保该目录下面有yii文件)

  1. /www/server/php/72/bin/php /www/wwwroot/系统目录/yii queue/listen

队列开启教程 - 图7
队列开启教程 - 图8
已启动代表正常,如果是已经停止,请检查是否把上面的禁用函数删除

!!特别注意
宝塔最新版存在bug,重启服务器之后队列无法自动启动,需要手动进入supervisor管理器,就是上图的界面,进入后则队列自动启动
!!特别注意

4. 查看日志

队列开启教程 - 图9
可以查看队列运行日志

5.数据不一致,如何重跑数据

简化版的队列数据重跑,删除文件后,系统已经做了定时凌晨1点平台不运营的情况下自动重跑数据,
具体文件目录。
队列开启教程 - 图10
删除该文件,队列会自动执行重跑任务
微q版本,对应目录addons/worldidc_sqtg/power/common/jobs/history5.txt