数据库 - Model 前置说明
官方开源项目 抓取代理IP

队列结构

消息队列在实现过程中,主要由一下7个管理队列组成:

名称 说明 生命周期
confirm 待确认队列 确认有效期内
waiting 等待消费队列 确认通过/普通投递/延迟时间结束后
reserved 正在消费队列 等待消费转入
delayed 延迟消费队列 延迟时间内
failed 消费失败队列 Job-handle返回false,又或者处理过程发生异常错误时
timeout 消息超时队列 Job-handle消费耗时,超过outtime配置时(该队列不代表消费逻辑执行结果,只标识执行超时)
entity 记录Job序列化实体 队列消费成功前全局有效

工作原理

使用消息队列大体可分为3个步骤:

  • 1、定义消息生产者Job对象,并在其中定义好handle()消息消费逻辑。
  • 2、将消息投递通过\x\Queue组件,投递到队列中。
  • 3、通过自定义进程,使用\x\Queue组件的pop方法,取出一条等待消费的消息(Job),执行Job->run()进行消费逻辑释放,完成消费。

如果还不够清晰,可以参考下面的架构图:

(建议右键新标签打开查看)

SW-X

企业级 - 高性能 PHP 框架

最后更新:3年前 . 作者-小黄牛

本篇目录