Skip to content

概述

EBAOZU V4 使用 ThinkPHP Queue 结合 Redis 作为底层异步消息队列驱动,用于处理订单超时自动取消、支付后通知分发、租金账单生成、微信模板消息下发及高并发耗时任务。


架构说明

  1. Swoole 常驻进程内置调度:EBAOZU V4 主服务通过 php think swoole 启动,框架内部已集成大部分异步 Task 工作协程与事件循环。
  2. 独立 Queue Worker 消费者:对于大体量或重度依赖队列的独立消费场景,可通过 Supervisor 部署独立的 ThinkPHP Queue 消费者常驻进程。

Supervisor 守护进程配置指南

主服务守护进程(必须配置)

在宝塔面板【Supervisor管理器】中添加守护进程:

  • 名称ebaozu_v4
  • 启动用户www
  • 运行目录/www/wwwroot/你的项目目录
  • 启动命令php think swoole
  • 进程数量1

独立消息队列守护进程(可选/大型业务推荐)

若需要独立启动 ThinkPHP 队列消费者处理高并发任务:

  • 名称ebaozu_queue
  • 启动用户www
  • 运行目录/www/wwwroot/你的项目目录
  • 启动命令php think queue:listen --queue default --delay 0 --memory 128 --sleep 3 --tries 3
  • 进程数量:根据服务器核心数与队列负载可设置为 1 ~ 4

常见问题与排查

  1. 队列任务未被执行(堆积在 Redis)
    • 检查 Redis 服务是否正常运行。
    • 检查 .env 中的 CACHE.PREFIXREDIS 连接配置。
    • 在终端手动运行 php think queue:work 测试消费是否有抛出 PHP 致命异常。
  2. 修改业务代码后队列任务仍按旧逻辑执行
    • 队列监听进程常驻内存,修改了 Job 类(app/jobs/)或相关 Services 逻辑后,必须重启 Supervisor 中的队列守护进程

承信租多门店租赁商城系统官方文档