php rabbitmq 如何实现消费者自动触发读取消息

1、根据rabbitmq 官方文档 搭建了一个测试 创建队列 以及 发送消息 接受消息 但是都是 用 php server.php 和 php client.php 这样的形式 来执行的 如果部署到服务器 如何实现 client.php 来自动消费这个队列里面的消息 始终与服务器保持联系
网上的一些资料是写一个sell 脚本 以及while 循环来处理 不知道还有什么其他的方式。

慕森卡
浏览 2731回答 2
2回答

守着星空守着你

public function receive($callback, $routingKey = null) { if (self::$connection === null) { $this->openConnection(); } //channel $channel = new \AMQPChannel(self::$connection); $channel->setPrefetchCount($this->preFetchCount); $queue = new \AMQPQueue($channel); $queue->setName($this->queue); $queue->bind($this->exchange, empty($routingKey) ? $this->routingKey : $routingKey); while (true) { $queue->consume($callback); } } 参考一下。目前PHP只有while循环的形式(当然,你可以考虑一下php的多线程)

繁星coding

正常定时执行 php client.php了
打开App,查看更多内容
随时随地看视频慕课网APP