Skip to content

Commit

Permalink
<chore>Update qos rabbitmq test
Browse files Browse the repository at this point in the history
  • Loading branch information
elihe999 committed Sep 22, 2021
1 parent 768dcba commit e5fadee
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 0 deletions.
36 changes: 36 additions & 0 deletions 5_limit/basic_qos.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
<?php

include(__DIR__ . '/../config.php');

// define('HOST', getenv('TEST_RABBITMQ_HOST') ? getenv('TEST_RABBITMQ_HOST') : '127.0.0.1');
// define('PORT', getenv('TEST_RABBITMQ_PORT') ? getenv('TEST_RABBITMQ_PORT') : 5672);
// define('USER', getenv('TEST_RABBITMQ_USER') ? getenv('TEST_RABBITMQ_USER') : 'guest');
// define('PASS', getenv('TEST_RABBITMQ_PASS') ? getenv('TEST_RABBITMQ_PASS') : 'guest');
// define('VHOST', '/');
//define('AMQP_DEBUG', getenv('TEST_AMQP_DEBUG') !== false ? (bool)getenv('TEST_AMQP_DEBUG') : false);
require_once __DIR__ . '/../vendor/autoload.php';

use PhpAmqpLib\Connection\AMQPStreamConnection;

$connection = new AMQPStreamConnection(HOST, PORT, USER, PASS, VHOST);

$channel = $connection->channel();

$channel->queue_declare('qos_queue', false, true, false, false);

//第二个参数代表:每次只消费1条
$channel->basic_qos(null, 1, null);

function process_message($message)
{
//消费完消息之后进行应答,告诉rabbit我已经消费了,可以发送下一组了
$message->delivery_info['channel']->basic_ack($message->delivery_info['delivery_tag']);
echo "finish\n";
}

$channel->basic_consume('qos_queue', '', false, false, false, false, 'process_message');

while ($channel->is_consuming()) {
// After 10 seconds there will be a timeout exception.
$channel->wait(null, false, 30000);
}
10 changes: 10 additions & 0 deletions 5_limit/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# 限流

高并发

basic_qos($prefetchSize, $prefetchCount, $global)

## QOS

当不给$message->delivery_info['channel']->basic_ack($message->delivery_info['delivery_tag'])回执,就无法知道是否完成,就不会发送下一批消息。

0 comments on commit e5fadee

Please sign in to comment.