16. Redis异步队列

news/2024/10/23 10:26:38/

一、 安装组件

composer require hyperf/async-queue

二、 配置文件

  • 位置:config/autoload/async_queue.php
  • 如文件不存在 ,可通过 php bin/hyperf.php vendor:publish hyperf/async-queue 命令来发布。
php">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.ppmy.cn/news/1541298.html

相关文章

C++ —— 实现一个日期类

目录 一. 对日期类的介绍 二. 实现日期类 1. 运算符重载 2.日期类实现代码 一. 对日期类的介绍 通过对类和对象(这里链接是类和对象的介绍)的学习,类就是一种模型一样的东西,是对象一种抽象的描述。所以实现日期类&#xff0…

如何做设备管理系统?六大亮点功能与八大关键指标?

在当今企业运营中,设备管理面临着诸多挑战。 领导不重视管理,使得设备管理缺乏战略层面的支持和资源投入;设备超负荷运转,不仅影响设备寿命,还增加了故障风险;管理方式陈旧,无法适应现代企业高…

JAVA接口,继承,和抽象类的使用

特点: 接口是行为的契约,定义了类必须实现的能力。可以用于多继承。抽象类是具有部分实现的类,需要通过继承来具体化某些行为。继承用于复用父类的实现,增强代码的扩展性和可维护性。 在Java中,接口、继承和抽象类都…

马拉车算法(C/C++)

#1024程序员节 | 征文# 马拉车算法(Manachers Algorithm)是一种用于在字符串中查找最长回文子串的线性时间复杂度算法。该算法由Udi Manacher在1980年代提出,因此得名。它的核心思想是利用已知的回文信息来减少不必要的比较,从而提…

Java | Leetcode Java题解之第502题IPO

题目&#xff1a; 题解&#xff1a; class Solution {public int findMaximizedCapital(int k, int w, int[] profits, int[] capital) {int n profits.length;int curr 0;int[][] arr new int[n][2];for (int i 0; i < n; i) {arr[i][0] capital[i];arr[i][1] profi…

Android14 和android12 在锁屏界面Keyguard输错5次密码后倒计时30秒时重启手机不显示倒计时

参考如下修改&#xff1a;Android9.0在锁屏界面Keyguard输错5次密码后倒计时30秒时重启手机不显示倒计时_android 锁屏密码输错5次-CSDN博客 android 14 修改如下&#xff1a; androidap/SYSTEM/frameworks/base$ git status Refresh index: 100% (47218/47218), done. HEAD d…

自定义组件使用v-model 实现双向数据绑定

在 Vue.js 中&#xff0c;如果你想在一个自定义组件中使用 v-model 来实现双向数据绑定&#xff0c;你需要遵循一些特定的步骤。v-model 实际上是以下两个属性的语法糖&#xff1a; 一个名为 value 的 prop&#xff0c;用于接收父组件传递的数据。一个名为 input 的事件&#…

Python流程控制专题:while、break与continue

在Python编程中,流程控制是至关重要的一个环节,能够让程序根据条件的不同而采取不同的执行路径。这篇博文将深入探讨Python中的三种主要流程控制结构:while循环,以及break和continue语句。我们将通过详细的解释、示例代码及应用场景,让你全面了解如何有效地使用这些控制结…