2025年6月9日 星期一 乙巳(蛇)年 三月十三 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > PHP

thinkphp-queue 源码阅读笔记 之 拓展

时间:12-14来源:作者:点击数:5
CDSY,CDSY.XYZ
4.1 队列的稳定性和拓展性
  • 稳定性:不管是 listen 模式还是 work 模式,都建议使用 supervisor 或者 自定义的cron 脚本,去定时检查 work 进程是否正常
  • 拓展性: 当某个队列的消费者不足时,再给这个队列添加 work进程即可。
4.2 消息队列的可视化管理工具
  • 队列管理,队列的列表,队列的 work 进程数量控制,队列的任务数量变化趋势 //TBD
  • 任务管理,任务的列表,添加/撤回/查询任务,修改任务的 执行者/执行时间/优先级/数据 等 //TBD
4.2 编写自定义的 thinkphp-queue 驱动
4.3 编写消息队列的单元测试
4.4 与其他PHP消息队列库的对比

TP5的消息队列与Laravel的消息队列比较相似,下面是与laravel 中的消息队列的一些对比:

  thinkphp-queue (v1.1.2) laravel-queue (v5.3)
内置的驱动 Database,Redis,Sync,TopThink Database,Redis, Sync(在laravel中称为 null)。
Redis驱动要求 安装redis的C扩展 安装 predis 包 + LUA脚本
推送任务 允许推送 消费者类名,消费者对象 允许推送消费者类名,消费者对象,闭包
失败任务处理 触发失败回调事件 (有Bug) 触发失败回调事件 + 移动任务到 failed_jobs表?
消息订阅 subscribe 命令+ Topthink驱动(注:未实现/未提供) subscribe 命令 + 安装IronMQ 驱动
删除任务 消费者类中手动删除 任务完成后自动删除
推送到多个队列 需自己实现 原生支持
延迟执行 支持 (有Bug) 支持
消息重发 支持 支持
检查已执行次数 原生支持 需在消费者类中显式 use 相关的 trait
执行方式 work 模式 + listen 模式 work 模式 + listen 模式
进程命令 开启,停止,重启 开启,停止,重启
任务命令 展示失败任务列表,重试某个失败任务,删除某个失败任务
支持的事件 失败回调事件 失败回调事件,支持消费前事件,消费后事件
CDSY,CDSY.XYZ
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐