$channel->startTransaction();這個是開啓事務的,怎麽開啓confirm模式,求demo?
给你一个完整的例子
$exchange = 'exchange_name';
$connection = new AMQPStreamConnection('localhost', 5672, 'guest', 'guest');
$channel = $connection->channel();
//异步回调消息确认
$channel->set_ack_handler(
function (AMQPMessage $message) {
echo "Message acked with content " . $message->body . PHP_EOL;
}
);
$channel->set_nack_handler(
function (AMQPMessage $message) {
echo "Message nacked with content " . $message->body . PHP_EOL;
}
);
//设为confirm模式
$channel->confirm_select();
$channel->exchange_declare($exchange, 'fanout', false, false, true);
$msg = 'demo';
$message = new AMQPMessage($msg, array('content_type' => 'text/plain'));
$channel->basic_publish($message, $exchange, null, true);
//阻塞等待消息确认
$channel->wait_for_pending_acks();
$channel->close();
$connection->close();
2 回答1.3k 阅读✓ 已解决
1 回答982 阅读✓ 已解决
2 回答845 阅读✓ 已解决
1 回答1k 阅读✓ 已解决
2 回答901 阅读
1 回答888 阅读
1 回答817 阅读
来个php-amqp的例子: