为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

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

2 回答

?
守着星空守着你

TA贡献1799条经验 获得超8个赞

    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的多线程)

查看完整回答
反对 回复 2019-03-18
?
繁星coding

TA贡献1797条经验 获得超4个赞

正常定时执行 php client.php了

查看完整回答
反对 回复 2019-03-18
  • 2 回答
  • 0 关注
  • 2730 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信