redis-queue 延迟队列不消费,使用的官方源码安装

tl54577

问题描述

redis-queue 延迟队列不消费,使用的官方源码安装

程序代码或配置

Redis::connection('house')->send('merchant-cancel-order', ['id' =>$orderInfo['id']], 3600);

重现问题的步骤

队列数据:截图
配置文件:截图

操作系统环境及workerman/webman等具体版本

使用webman 1.6.9 redis版本:7.2

179 1 0
1个回答

nitron

你这队列名和你上面send的对不上啊
一个merchant-cancel-order,一个order-push-hall, delay值也对不上啊,一个3600一个120

  • tl54577 1天前

    粘贴错了,是这样写的。 Redis::connection('other')->send('order-push-hall', ['id' => $result->id], 120);

  • nitron 1天前

    消费进程的代码呢

  • tl54577 1天前

    <?php
    namespace app\queue\redis;

    use app\api\model\Order;
    use Webman\RedisQueue\Consumer;

    //显示到服务大厅
    class OrderPushHall implements Consumer
    {
    // 要消费的队列名
    public $queue = 'order-push-hall';

    // 连接名,对应 plugin/webman/redis-queue/redis.php 里的连接`
    public $connection = 'other';
    
    // 消费
    public function consume($data)
    {
        Order::where('id', $data['id'])->update(['is_visible' => 0]);
        return  true;
    }

    }

  • nitron 1天前

    有没有报错,重启了没

  • tl54577 1天前

    没有报错。重启都试过了

  • nitron 1天前

    不清楚,166->169没看到对队列代码有改动

  • tanhongbin 1天前

    刚才测试了 没任何问题呀

  • tl54577 1天前

    可以看看你的队列数据吗

  • tanhongbin 1天前

    这也截不了图呀 ,而且 我用的是 我魔改群主插件 后的队列 ,和群主原生有一些区别,就是可以用中间件

  • tanhongbin 18小时前

    应该不会 要是有问题 早就反馈了,你看看你卸载这个插件 再装一下试试

  • tl54577 11小时前

    消费的时候 使用 只能使用 public $connection = 'default'。如果使用other house。都不行。

  • tl54577 11小时前

    投递时候使用Redis::connection('house')->send();不行。直接使用Redis::send()可以

  • tanhongbin 11小时前

    你投递的时候 Redis用的是那个类?

  • nitron 10小时前

    把发送任务,消费任务的整个代码都帖全吧

×
🔝