生产者中可以将数据插入消息队列中,但是消费者如何去取出这些内容呢?
难不成,有一个消费者就运行一个命令 php recevie1.php
??
是这样啊,队列会一直监听,直到有消息进来,则按照约定的函数和方法对消息进行处理;
有很多消息进来,就排队一条一条的处理。
实际生产环境会用守护进程让队列在后台一直执行着的,所以监听和消费的动作都是自动,不间断的,不需要手动操作。
在不理解的前提下,这些回答真的晦涩难懂,我也是一直在纠结这个问题,咱不懂啊
我是这样理解的
消费者,说到底,是一个 PHP 或其他语言的可执行文件 (recive.php),该文件代码运行的目的就是为了不断的去询问 rabbitMq 有没有消息(就是你看到的代码里的 while (true) { … } ),有消息就做出动作 !
然后这个可执行文件用一些守护进程工具(例如:supervisor),确保它一直在服务端运行着 !
记得,这里面还有消息应答,即,得到消息 -》 做出动作 -》 动作完成告诉 rq 这条消息已消费
至于说,消息会一直被侦听,这个我不知道怎么设定,难道通过 rabbitmq server 直接设定消息应答消费的方法或者说可执行文件 ? 如果是这样,就容易理解多了,我们只管往队列里塞数据,然后写个方法去接受消息,消费消息,其它的交给 rqserver 去管理。
但是怎么设置呢 ?
最后,我跟楼主一样纠结 !
1 回答4k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
1 回答1.4k 阅读✓ 已解决
2 回答2.2k 阅读
1 回答1.3k 阅读✓ 已解决
1 回答564 阅读✓ 已解决
你在脚本中开启多了消费者就好了呀