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

我在webman中自定義進程使用rabbitmq 的消費者 阻塞消費 導(dǎo)致進程busy問題

tanhongbin

問題描述

我在webman中自定義進程使用rabbitmq 的消費者 阻塞消費 導(dǎo)致進程busy問題 是否有啥好辦法解決,如果沒有, 那這個busy是否對系統(tǒng)會有影響?

為此你搜索到了哪些方案及不適用的原因

消費端代碼

$this->channel->basic_consume(
$queue,
'',
false,
false,
false,
false,
$callback
);

register_shutdown_function(function(){
$this->close();
});

$this->channel->consume();//這家伙會阻塞 內(nèi)部有while代碼導(dǎo)致的

我使用 status 查看 進程一直是busy狀態(tài) 監(jiān)控不到內(nèi)存等信息 N/A 不知道是否會有影響?

737 1 0
1個回答

six

感覺stop的時候有影響,死循環(huán)stop的時候是被強制kill掉的,業(yè)務(wù)可能處理一半被kill掉。
while循環(huán)改成定時器感覺可行

  • tanhongbin 2024-09-11

    改成定時器 會報錯 而且這種改成定時器 主動去取 rabbitmq 強烈不建議這么做 我覺得如果沒啥影響 應(yīng)該可以用 我監(jiān)控cpu 和 內(nèi)存 非常低 基本忽略不計 壓力測試也沒發(fā)現(xiàn)任何問題

  • tanhongbin 2024-09-11

    stop 的時候 kill掉正常 現(xiàn)在增加了這段代碼 stop的時候不報錯了 pcntl_signal(SIGINT, function(){
    Worker::stopAll();
    });

  • six 2024-09-11

    就是stop的時候進程可能被kill掉,業(yè)務(wù)執(zhí)行一半,其它感覺沒影響。
    看到 workerman 有rabbitmq客戶端啊
    http://m.wtbis.cn/doc/workerman/components/workerman-rabbitmq.html

  • tanhongbin 2024-09-11

    這個沒用過 我用的 php-amqplib/php-amqplib 做的入隊和消費 ,消費肯定是長連接 入隊也是都實現(xiàn)了就是現(xiàn)在 進程busy別的都OK了

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