国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

webman使用隊列延時投遞的時候不生效外加redis處理失敗隊列的時候看不到消息情況

shaonian820

composer require webman/redis-queue
開發(fā)環(huán)境:win上使用docker開發(fā)測試

redis版本:
截圖

非延時投遞成功:
截圖
延時投遞失敗(不處理消息):
截圖

處理失敗的時候:
截圖

5071 4 0
4個回答

walkor 打賞

執(zhí)行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 2021-01-06

    好的 感謝 更新以后可以看到失敗隊列的消息了,但是還有一個問題就是隊列延時投遞不生效是為什么呢?

shaonian820


而且在生產(chǎn)環(huán)境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

  • walkor 2021-01-06

    是壓測么?看起來是redis承受不住壓力,導(dǎo)致入隊列超時。

  • shaonian820 2021-01-06

    可能機(jī)器原因 我在測試服務(wù)器會這樣 然后生產(chǎn)服務(wù)器用的是阿里云的redis,暫時沒出現(xiàn)這個問題

  • walkor 2021-01-29

    workerman/redis是個異步客戶端,本地會有個隊列將(get/set等)命令暫存發(fā)給redis服務(wù)端。 Workerman Redis Wait Timeout (10 seconds) 意思是隊列里有命令超過10秒還沒成功發(fā)送給redis服務(wù)端,觸發(fā)超時。出現(xiàn)這個問題一般是業(yè)務(wù)有長時間阻塞的代碼如sleep、curl等,或者redis讀寫量太大超過redis服務(wù)端承受能力。

年代過于久遠(yuǎn),無法發(fā)表回答
??