Redis消息队列插件 redis-queue 连接名问题

sanjin

配置文件

'default' => [
        'host' => 'redis://127.0.0.1:6379',
        'options' => [
            'auth'     => '',     // 密码,可选参数
            'db' => 10,      // 数据库
            'max_attempts'  => 5, // 消费失败后,重试次数
            'retry_seconds' => 5, // 重试间隔,单位秒
        ]
    ],
    'consumer' => [ //这个处理计算进程
        'host' => 'redis://127.0.0.1:6379',
        'options' => [
            'auth'     => '',     // 密码,可选参数
            'db' => 1,      // 数据库
            'max_attempts'  => 5, // 消费失败后,重试次数
            'retry_seconds' => 5, // 重试间隔,单位秒
        ]
    ],

这是配置的两个连接名 default 和 consumer

消息列表代码

use Webman\RedisQueue\Consumer;

class Queue1 implements Consumer
{
    // 要消费的队列名
    public $queue = "QUEUE_1";

    // 连接名,对应 config/redis_queue.php 里的连接`
    public $connection = 'default';//default 能执行,但改成 consumer 却执行不了,是什么原因?

    // 消费
    function consume($job_data){
        var_dump("HELLO");
    }
}

调用代码

$queue_name =   "QUEUE_1";
$data_list  =   ['a'=>'b'];
Client::send($queue_name, $data_list);

为什么只有 $connection="default"才会执行consume方法?而改成consumer却不行?谢谢

2025 1 0
1个回答

tanhongbin

修改完了,重启了吗?

  • 暂无评论
年代过于久远,无法发表回答
×
🔝