webman使用队列延时投递的时候不生效外加redis处理失败队列的时候看不到消息情况

0

composer require webman/redis-queue
开发环境:win上使用docker开发测试


redis版本:
截图


非延时投递成功:
截图
延时投递失败(不处理消息):
截图


处理失败的时候:
截图

已邀请:

walkor

赞同来自:

执行composer info看下workerman/redis-queue版本。


如果小于1.0.3 更新下 workerman/redis-queue 命令为 composer require workerman/redis-queue ^1.0.3


然后重启webman试下。

shaonian820

赞同来自:

截图


查看了 workerman的workerman/redis-queue 是 1.0.3版本,
这个问题依旧存在
截图
webman 和php版本
截图

walkor

赞同来自:

更新到 workerman/redis-queue 到1.0.4 试下
命令 composer require workerman/redis-queue ^1.0.4

shaonian820

赞同来自:


而且在生产环境linux使用队列的途中,redis会断开连接 然后提示连接超时


错误信息如下:
Fatal error: Uncaught RuntimeException: Workerman Redis Wait Timeout (10 seconds) in /data/www/tak-main/vendor/workerman/redis-queue/src/Client.php:169
Stack trace:
#0 /data/www/tak-main/vendor/workerman/redis/src/Client.php(303): Workerman\RedisQueue\Client->Workerman\RedisQueue\{closure}(false, Object(Workerman\Redis\Client)) #1 /data/www/tak-main/vendor/workerman/workerman/Events/Select.php(232): Workerman\Redis\Client->Workerman\Redis{closure}()
#2 /data/www/tak-main/vendor/workerman/workerman/Events/Select.php(281): Workerman\Events\Select->tick() #3 /data/www/tak-main/vendor/workerman/workerman/Worker.php(2430): Workerman\Events\Select->loop()
#4 /data/www/tak-main/vendor/workerman/workerman/Worker.php(1555): Workerman\Worker->run() #5 /data/www/tak-main/vendor/workerman/workerman/Worker.php(1385): Workerman\Worker::forkOneWorkerForLinux(Object(Workerman\Worker))
#6 /data/www/tak-main/vendor/workerman/workerman/Worker.php(1359): Workerman\Worker::forkWorkersForLinux() #7 /data/www/tak-main/vendor/workerman/workerma in /data/www/tak-main/vendor/workerman/redis-queue/src/Client.php on line 169
Worker[28422] process terminated with ERROR: E_ERROR "Uncaught RuntimeException: Workerman Redis Wait Timeout (10 seconds) in /data/www/tak-main/vendor/workerman/redis-queue/src/Client.php:169

要回复问题请先登录注册