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

RabbitMQ中消費時,是不是能使用異步(如異步http)組件嗎?

z985342160

例:

$channel->basic_qos(0, 5, false);
$channel->basic_consume('name', '', false, false, false, false, function(AMQPMessage $message) {
    echo 'Rec:', $message->getBody(), "\n";
    $http = new Http();
    $http->get('http://www.baidu.com', function($response) use ($message) {
        echo 'Resp:', $response->getBody(), "\n";
        $message->ack();
    });
});

目前發(fā)現(xiàn)在這樣使用異步http組件,http一直沒有響應(請求都沒發(fā)送)。

https://wenda.workerman.net/question/6257

見walkor的回復:consume里是一個死循環(huán),一直循環(huán)消費隊列的數(shù)據(jù)。因為代碼一直運行在這個循環(huán)里,workerman永遠無法得到控制權(quán),就無法把數(shù)據(jù)發(fā)送出去。

我本意是當設置消費者的prefetch_count后, 如何可以并發(fā)處理這些消息,而不是阻塞等待。

2666 1 0
1個回答

xiuwang

basic_consume 也是死循環(huán)阻塞的操作,所以無法使用異步http,用curl吧

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