一、 安装组件
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]注解的方法,构造函数传入的数据即为待消费的数据,方法体则为消费逻辑。