如何获取 redis-queue 当前失败重试的次数

小吴大大

问题描述

如题,想问下如何获取去当前失败执行的次数,比如我有个需求,想在失败第n次后推送飞书 钉钉之类的,目前是自己加了任务唯一id 结合redis incrBy 实现的,但总感觉这样不太好, redis-queue 内部是否有实现有 $this->getAttempts(); 这种接口之类的?
还有就是希望 retry_seconds 能支持传入一个数组,类似这样

<?php
return [
    'default' => [
        'host' => 'redis://127.0.0.1:6379',
        'options' => [
            'auth' => '',         // 密码,可选参数
            'db' => 0,            // 数据库
            'max_attempts'  => 5, // 消费失败后,重试次数
            'retry_seconds' => [5,10,60,180,360], // 重试间隔,单位秒
        ]
    ],
];
247 1 0
1个回答

小W

写个自定义进程监听{redis-queue}-failed队列

  • 小吴大大 2023-11-21

    自己实现当然是可以的,不过还行希望 插件能自带这一点点能力

🔝