当前位置: 首页 > article >正文

16. Redis异步队列

一、 安装组件

composer require hyperf/async-queue

二、 配置文件

  • 位置:config/autoload/async_queue.php
  • 如文件不存在 ,可通过 php bin/hyperf.php vendor:publish hyperf/async-queue 命令来发布。
return [
    'default' => [
        'driver' => Hyperf\AsyncQueue\Driver\RedisDriver::class,	// 
        'redis' => [
            'pool' => 'default'		// redis 连接池
        ],
        'channel' => 'queue',		// 队列前缀
        'timeout' => 2,				// pop 消息的超时时间
        'retry_seconds' => 5,		// 失败后重新尝试间隔,可以是一个数组 [1,3,5]
        'handle_timeout' => 10,		// 消息处理超时时间
        'processes' => 1,			// 消费进程数
        'concurrent' => [
            'limit' => 10,			// 同时处理消息数
        ],
        'max_messages' => 0,		// 进程重启所需最大处理的消息数 默认不重启
    ],
];

三、 工作原理

  • ConsumerProcess 是异步消费进程,会根据用户创建的 Job 或者使用 #[AsyncQueueMessage] 的代码块,执行消费逻辑。

  • Job 类中成员变量即为待消费的数据,handle() 方法则为消费逻辑。

  • #[AsyncQueueMessage] 注解的方法,构造函数传入的数据即为待消费的数据方法体则为消费逻辑


http://www.kler.cn/news/361432.html

相关文章:

  • SpringBoot物流管理系统设计与实现
  • 1971. 寻找图中是否存在路径
  • 利用AI提升论文写作效率:高效提示词指南
  • python-docx -- 对比两个表格的行数据
  • C++STL之list
  • 技术面没过,竟然是因为我没用过Pytest框架?
  • 《测试能否转产品经理?——优势与难点并存的转型之路》
  • 用神经网络自动玩游戏
  • 文件上传漏洞详解----适合网络安全小白
  • 设计模式之设计模式分类
  • SQL自学:存储过程的理解、应用与语法
  • 微服务开发-Nacos服务治理
  • 前端算法:链表(力扣141、237题解法)
  • 15分钟学Go 第7天:控制结构 - 条件语句
  • 前端开发:Vue中数据绑定视图
  • 云计算的一些基本概念
  • Java | Leetcode Java题解之第502题IPO
  • mybatis更新后立即获取更新记录的自增主键
  • Excel常用操作培训
  • 01 设计模式-创造型模式-工厂模式
  • ES6面试题:(第一天)
  • nextjs项目中,使用postgres的完整案例
  • C#第5讲:类和对象的使用
  • 408算法题leetcode--第37天
  • 【经验】无线鼠标、键盘的usb接收器配对
  • autMan内置redis服务的使用方法