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

【算解決了】webman的隊列webman/redis-queue任務(wù)堆積,導(dǎo)致內(nèi)存超過,導(dǎo)致進程退出

xiaoming

版本號

webman/redis-queue 1.3.2

問題描述

我操作大表 ,導(dǎo)致所有隊列進程busy, mysql阻塞寫入,我理解
但索引添加完成, busy消失,但是內(nèi)存超了 ,我設(shè)置了512M還是超了

出現(xiàn)
2024-07-01 22:46:50 pid:30566 Worker[30566] process terminated with ERROR: E_ERROR "Allowed memory size of 536870912 bytes exhausted (tried to allocate 8454040 bytes) in /www/wwwroot/webman/vendor/workerman/workerman/Connection/TcpConnection.php on line 593"
2024-07-01 22:46:50 pid:30532 worker[plugin.webman.redis-queue.consumer:30566] exit with status 11
2024-07-01 22:46:54 pid:30564 Worker[30564] process terminated with ERROR: E_ERROR "Allowed memory size of 536870912 bytes exhausted (tried to allocate 8454040 bytes) in /www/wwwroot/webman/vendor/workerman/workerman/Connection/TcpConnection.php on line 593"
2024-07-01 22:46:54 pid:30532 worker[plugin.webman.redis-queue.consumer:30564] exit with status 11
2024-07-01 22:46:54 pid:30563 Worker[30563] process terminated with ERROR: E_ERROR "Allowed memory size of 536870912 bytes exhausted (tried to allocate 36864 bytes) in /www/wwwroot/webman/vendor/workerman/redis/src/Protocols/Redis.php on line 166"
2024-07-01 22:46:54 pid:30532 worker[plugin.webman.redis-queue.consumer:30563] exit with status 11

暫時解決

我現(xiàn)在把所有延時隊列 全部改成及時消費,目前cpu和內(nèi)存都正常了

如果單條數(shù)據(jù)量大,我建議非必要不要用延時隊列

1485 5 0
5個回答

xiaoming

不是很能理解,索引添加完成 應(yīng)該是按順序消費起來 ,怎么會內(nèi)存爆了

  • 暫無評論
six

猜測是單條消息數(shù)據(jù)太大了。
比如從數(shù)據(jù)庫讀出了大量數(shù)據(jù)放到了一條消息里去消費

  • xiaoming 2024-07-01

    都512M 單條數(shù)據(jù)不可能那么大

xiaoming

http://wtbis.cn/q/10597
這個有人反饋設(shè)置了 delay 就這樣
我也是有隊列設(shè)置了 delay

  • 暫無評論
tanhongbin

linux 還是 windows 系統(tǒng)? 這種情況不應(yīng)該的還是代碼有問題 我們也用過 沒出現(xiàn)任何問題 linux系統(tǒng) 靜態(tài)php部署的呢

  • xiaoming 2024-07-02

    1 linux上運行 2 報錯信息 架里面報錯,好像是讀取數(shù)據(jù)太大 3 php單文件部署 http://wtbis.cn/download

  • tanhongbin 2024-07-02

    你把你消費代碼 發(fā)一下,你這么說 太抽象了

  • xiaoming 2024-07-02

    ERROR 報錯信息都是在 workerman 框架里面 還沒到我的消費代碼

xiaoming
應(yīng)該是還沒到消費這部   看報錯信息 是框架內(nèi)部

<?php
public function consume($data)
{
    try {
        ZmqLog::create($data);
    } catch (\Throwable $ex) {

    }  
}
  • tanhongbin 2024-07-02

    沒遇到 這種情況 我們消費的數(shù)據(jù)比你們要打多了 我們是一次發(fā)送上百萬手機號碼 也是用的隊列 ,沒遇到過內(nèi)存泄漏問題 漲到一定程度就不增長了 內(nèi)存使用

  • xiaoming 2024-07-02

    你們是延時隊列嗎 我覺得應(yīng)該是 https://github.com/webman-php/redis-queue/issues/2 由于我單條數(shù)據(jù)大大于2m,
    導(dǎo)致 這部一下子取得128條 ,導(dǎo)致內(nèi)存爆了

  • tanhongbin 2024-07-02

    我不是延遲隊列,很有可能是延遲隊列 同一時刻有128條拿出來嘛?

  • xiaoming 2024-07-02

    看源碼我覺得是 我現(xiàn)在把所有延時隊列 全部改成及時消費,目前cpu和內(nèi)存都正常了,

  • tanhongbin 2024-07-02

    為啥你一個數(shù)據(jù)能2M 這么大 ???按道理 不應(yīng)這么大的呀 群主一次取128就是怕內(nèi)存爆掉,但是沒想到你一個數(shù)據(jù)都2M 多

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