php使用rabbitmq

第一步:创建一个写队列的程序
$config        = [
    'host'     => "172.22.0.5",
    'port'     => "5672",
    'vhost'    => "/guest",
    'login'    => "guest",
    'password' => "123456",
];
$exchange_name = "test_exchange1";
$routs = "name.zhangsan";
$conn          = new AMQPConnection($config);
if (!$conn->connect()) {
    throw new Exception("失败");
}
$channel  = new AMQPChannel($conn);
$exchange = new AMQPExchange($channel);
$exchange->setName($exchange_name);
$exchange->setType('topic');
$exchange->setFlags(1);

$exchange->declareExchange();

$message = "hello zhangsan";
$exchange->publish($message, $routs);
$conn->disconnect();
第二步:写一个消费队列的程序
$config = [
    'host'     => "172.22.0.5",
    'port'     => "5672",
    'vhost'    => "/guest",
    'login'    => "guest",
    'password' => "123456",
];

$routs = "name.*";
$conn   = new AMQPConnection($config);
if (!$conn->connect()) {
    throw new Exception("链接失败");
}
$exchange_name = "test_exchange";
$channel       = new AMQPChannel($conn);
$exchange      = new AMQPExchange($channel);
$exchange->setType('topic');
$exchange->setName("test_exchange1");
$exchange->declareExchange();

$queue = new AMQPQueue($channel);
$queue->setName("queue1");
$queue->setFlags(AMQP_DURABLE);
$queue->declareQueue();
$queue->bind("test_exchange", $routs);
while (true) {
    sleep(1);
    $queue->consume('callback_fuction');
}
$conn->disconnect();
function callback_fuction($envelope, AMQPQueue $queue)
{
    echo $msg = $envelope->getBody();
    $queue->ack($envelope->getDeliveryTag());
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值