Browse Source

完成amqp对接

master
Mike 6 years ago
parent
commit
5d6a9aec0f
  1. 34
      app/Amqp/Consumer/DevicOrderConsumer.php
  2. 3
      composer.json
  3. 33
      config/autoload/amqp.php

34
app/Amqp/Consumer/DevicOrderConsumer.php

@ -0,0 +1,34 @@
<?php
declare(strict_types=1);
namespace App\Amqp\Consumer;
use Hyperf\Amqp\Result;
use Hyperf\Amqp\Annotation\Consumer;
use Hyperf\Amqp\Message\ConsumerMessage;
use PhpAmqpLib\Message\AMQPMessage;
/**
* @Consumer(exchange="devicOrder", routingKey="devicOrder", queue="devicOrder", nums=1)
*/
class DevicOrderConsumer extends ConsumerMessage
{
private $msgCount = 0;
public function consumeMessage($data, AMQPMessage $message): string
{
var_dump($data);
var_dump($message->getBody());
if($this->msgCount< 10){
$this->msgCount += 1;
return Result::REQUEUE;
}
return Result::ACK;
}
public function isEnable(): bool
{
//if(env('APP_ENV')!='prod') return false;
return parent::isEnable();
}
}

3
composer.json

@ -32,7 +32,8 @@
"hyperf/filesystem": "^2.0",
"xxtime/flysystem-aliyun-oss": "^1.5",
"hyperf/task": "^2.0",
"alibabacloud/iot": "^1.8"
"alibabacloud/iot": "^1.8",
"hyperf/amqp": "^2.0"
},
"require-dev": {
"swoole/ide-helper": "^4.5",

33
config/autoload/amqp.php

@ -0,0 +1,33 @@
<?php
return [
'default' => [
'host' => env('RQM_HOST', 'localhost'),
'port' => 5672,
'user' => env('RQM_USER','guest'),
'password' => env('RQM_PASSWORD','guest'),
'vhost' => '/',
'concurrent' => [
'limit' => 1,
],
'pool' => [
'min_connections' => 1,
'max_connections' => 10,
'connect_timeout' => 10.0,
'wait_timeout' => 3.0,
'heartbeat' => -1,
],
'params' => [
'insist' => false,
'login_method' => 'AMQPLAIN',
'login_response' => null,
'locale' => 'en_US',
'connection_timeout' => 3.0,
'read_write_timeout' => 6.0,
'context' => null,
'keepalive' => false,
'heartbeat' => 3,
'close_on_destruct' => false,
],
]
];
Loading…
Cancel
Save