# 队列开启教程
1. 队列优势
任务执行流畅,无需等待。如团长批量发送提货通知(比如500条,正常操作发送完需要等待2分钟)。如开启了队列后,团长点击一下发送,后台队列服务就开始一条条发送,无需团长在操作页面等待发送完成。
可减轻秒杀环节高并发对服务器的压力。
可执行一些定时的任务。
2. 队列功能
①团员收货消息群发 ②自动关闭订单 ③自动收货 ④自动上下架 ⑤秒杀分流 ⑥拼团自动退款和关闭订单 等后续增加的新功能。
3. 基础条件
1. swoole扩展正常安装
社区团购plus系统打开正常,并且未提示swoole\_loader未安装
2. 宝塔环境需要删除几个禁用函数、非宝塔的可以在php.ini中删除“disable\_functions”中对应的函数
如果您为宝塔环境,请在“软件管理”-->“PHP -7.2”设置页—禁用函数中,删除如下图的5个函数,否则无法开启队列。
![](https://qqadapt.qpic.cn/txdocpic/0/924dd4116667b335c0a543300a4a5f7e/0)
![](https://qqadapt.qpic.cn/txdocpic/0/3ea79ef62ed6df3ff7b8edaf60ffe776/0?w=499&h=271)
切记,每次在宝塔更新PHP的时候、或者更新宝塔版本的时候,会自动增加禁用函数,需要再次排查删除,否则队列将无法正常运行!
4. 队列开启及开机自动运行方法
命令解析(根据色块,分割成4句话)
nohup /www/server/php/72/bin/php /www/wwwroot/xxxxx/yii queue/listen \>> /www/wwwroot/xxxxx/log/sqtg-log.log 2>&1 &
如果您是宝塔,请按照上面的代码执行
如果非宝塔,请把蓝色内容,改成你服务器实际php7.2文件所在的路径
* * *
nohup 和 本行最后一个 & 是指后台运行, \>/www/xxxx.log 2>&1 是指把错误输出到某个log文件中
* * *
php 是指在linux启动php。提示,在“amh”环境下,直接运行php 可能提示报错,参考最下面“php明了无法执行或版本不一致怎么办”,查看操作步骤
* * *
/www/wwwroot/xxxxx/yii 是系统根目录中的yii文件 xxxxx 需要改成你的站点根目录
微擎版本的yii文件路径为 /www/wwwroot/xxxxx/addons/worldidc\_sqtg/power/yii
* * *
queue/listen 是我们的队列监听命令
* * *
nohup php /www/wwwroot/xxxxx/yii queue/listen \>> /www/wwwroot/xxxxx/log/sqtg-log.log 2>&1 &
所以根据上面的代码,执行代码转化为汉语为“在后台 用php 执行某个目录下的yii文件 然后启用队列监听服务 输出错误到某个log文件 ”
这就是我们队列开启的核心语句。
如图,执行完之后,会提示一条数字
![](https://qqadapt.qpic.cn/txdocpic/0/d3f390924d8ef188a89bbe97774b58f0/0)
我们需要确认,队列是否在后台正常运行,输入进程查询命令 ps -aux|grep yii
![](https://qqadapt.qpic.cn/txdocpic/0/395c510c9c2dee1090d611c8cdf6aa0e/0)
![](https://qqadapt.qpic.cn/txdocpic/0/28c8056c52a88d6e8506cbcc5f4f9528/0)
如果查询结果如上图,则队列没有正在在后台运行,请最下方“队列开启命令执行后无后台进程”查看调试方法。
* * *
![](https://qqadapt.qpic.cn/txdocpic/0/0692d8ba7d798798a60a59cb049c9002/0)
↑↑↑ 如果查询结果如上图,可看到此次查询到了 yii文件在后台运行的 queue/listen 命令,证明您的队列已经正常开启!
仅此还不行,我们需要把队列设置为开机自动启动。
先执行此命令,开启自动启动功能 chmod +x /etc/rc.d/rc.local
![](https://qqadapt.qpic.cn/txdocpic/0/baa6c87fba1689db3eade8d86a62feb4/0)
然后编辑启动脚本 vi /etc/rc.local ,把队列开启命令放入启动脚本
![](https://qqadapt.qpic.cn/txdocpic/0/b1a21ed01b74cbe317c50962574d31fd/0)
![](https://qqadapt.qpic.cn/txdocpic/0/cae1f08e430fb46313542a1ba2ae8149/0)
然后重启服务器,使用 ps -aux|grep yii 查询队列是否开启,如正常开启,则证明开启启动已生效。
5. 常见问题及解决方法
1. php命令无法执行或版本不一致怎么办?
在某些集成环境下,php命令没有设置,无法自动运行,如下图。
![](https://qqadapt.qpic.cn/txdocpic/0/a08f27a0aef777db563f5ce3791e532a/0)
此图 执行 php -v 下面提示 command not found
证明php命令无法执行,我们可以查找php的真实路径,直接运行真实路径的php
通过 find - name php 查询出php执行文件所在的路径(bin文件夹中的php)
![](https://qqadapt.qpic.cn/txdocpic/0/29244835c2be102103df2a6742d40a95/0)
下面执行队列的时候,可以用全路径的php来执行,如下图,原来的php用 真正的路径代替
![](https://qqadapt.qpic.cn/txdocpic/0/3640f75e75b7a68a50a175643bb1b199/0)
如果您的社区团购系统安装的是php5.6版本,但是输入 php -v,提示的默认执行是7.2的版本,或者安装的7.2版本,php -v提示5.6版本
这种情况我们就需要参考上面的方法,查到php7.2或者5.6的真实路径,通过绝对路径地址代替php命令。
2. 队列开启命令执行后,无后台进程怎么办?
![](https://qqadapt.qpic.cn/txdocpic/0/d3f390924d8ef188a89bbe97774b58f0/0)
很多人执行完上面的命令后,出来一个数字,但是查询进程没有发现队列进程
这就证明队列没有正常开启。
造成这个情况的原因有几个,首先是参考基础条件中宝塔环境需要删除几个禁用函数 ,进行操作。
如果还是不能正常开启,可以输入下面的命令 php /www/wwwroot/xxxxxx/yii ,直接运行yii文件,看看有什么报错。
![](https://qqadapt.qpic.cn/txdocpic/0/b84e1222f8e54d1dd3456e71590b433f/0)
如上图,提示exec()函数被禁用的原因,如果您无法确认具体是什么原因,请截图发我们排查。
解除后,如果执行该命令,能返回下图的 黄色和绿色文字,则证明队列环境已经正常,可继续开启队列。
![](https://qqadapt.qpic.cn/txdocpic/0/8a10e251cb009ccd352d2505e45efdd3/0)
三、amh环境,php -cli 模式,提示没有加载swoole\_loader怎么办?
把php.ini配置文件,复制到etc目录中一份
![](https://qqadapt.qpic.cn/txdocpic/0/7b8a5f519b8b5cebb80947847924f386/0)
![](https://qqadapt.qpic.cn/txdocpic/0/1b8bb8a8ea2127775ece6b30e184959e/0)
- 小程序申请
- 微信支付
- 企业付款证书申请
- 小程序和微信支付绑定
- 企业付款到零钱
- 小程序上线流程
- 安装\升级模块
- 独立版
- 安装
- 升级
- 商品模块
- 分类管理
- 规格管理
- 上架商品
- 多规格商品上架
- 新人专享
- 销售时间
- 预计提货时间
- 参与满减
- 商品视频
- 库存
- 团长专属
- 售卖区域
- 单独设置商品佣金
- 限购
- 商品视频
- 商品赠送积分
- 快递配送商品
- 产品公用信息
- 团长模块
- 团长申请
- 团长推荐团长
- 团长佣金和团长平推佣金
- 团长佣金获取及提现
- 团长拉会员
- 核销员
- 仅为自提点
- 导出团长对账
- 团长等级
- 订单模块
- 订单发货
- 自动关闭订单
- 更换团长
- 售后工单
- 小票打印
- 订单整单退款
- 批量发货
- 配送发货-订单一键发货/选择单品发货
- 快递模块
- 快递配送方式
- 配送模块
- 自提
- 团长配送
- 团长配送流程
- 配送
- 清单
- 会员模块
- 会员等级
- 会员充值\余额
- 供应商模块
- 拼团模块
- 拼团商品
- 拼团类型
- 拼团成功\失败
- 购买流程
- 秒杀模块
- 添加秒杀活动
- 任务计划
- 发货
- 购买流程
- 积分模块
- 积分签到
- 积分商品
- 积分订单
- 红包模块
- 满减模块
- 充值模块
- 财务模块
- 佣金流水
- 佣金提现
- 统计模块
- 权限模块
- 独立版
- 基础设置
- 休市功能
- 自动关闭订单
- 附近团长距离
- 配送方式
- 提现方式
- 退款控制
- 商品起购价
- 普通商品自动收货
- 快递运费设置
- 五大风格
- 广告图
- 下单列表
- 商品标签
- 分类图标
- 客服功能
- 其他设置
- 队列开启教程
- 公众号设置
- 远程附件
- 阿里oss
- 七牛云
- 海报自定义设置
- 其他设置
- 公告
- 版权
- 资质规则
- 常见问题
- 常见问题
- 佣金发放失败
- 团长佣金和团长平推佣金
- 团长推荐关系
- 小程序部分报错
- 小程序出现部分空白
- 小程序怎么添加开发者(体验者)
- 无法退款
- 支付报错,“商户号该产品权限未开通
- 二维码不显示
- 企业付款到零钱
- 一些常用的小程序页面
- 团长佣金折扣
- 小程序审核不通过
- ssl证书
- 团长申请默认自提点地区
- oss配置错误
- 秒杀不显示
- 新人红包下架
- 冻结团长
- 海报不生成
- 收款人姓名不显示
- 第四张主图不显示
- 营业款和结算款
- 什么是核销员
- 订单到货提醒通知
- 分类不能删除
- 提现报错
- 如何在微信支付添加服务器IP地址
- 服务商功能
- 服务商申请
- 配置系统服务商
- 小程序使用服务商功能
- 服务商配置
- 商户配置
- 支付证书
- 淘宝客插件介绍
- 拼多多接口申请
- 京东联盟接口申请
- 独立版加盟模式设置
- 本地入驻
- 品牌入驻商
- 订阅号消息设置
- 1.9版本升级2.0版本注意事项
- 平台数据和加盟数据显示
- 专题活动
- 直播
- 种草功能
- 自定义退款功能
- 群发订阅消息设置
- 区域团长
- 旗下团长
- 卡密兑换中心
- 充值卡密兑换
- 积分卡密兑换
- 消费奖励
- 分销功能
- 拓客获取
- 群接龙活动
- 会员等级功能说明
- 付费会员卡
- 新版团长中心
- 团长休市
- 数据面板
- 团长收货
- 用户取货
- 常见问题
- 旗下团员