关于rabbitmq的四连问

rabbitmq的消费者触发,是需要写一个脚本或者定时任务去轮询触发吗? 可不可以这样,每当生产者生产消息后,消费者能够自动去消费?
或者PHP压根就不支持消费者自主触发?
如果定时轮询的话,一般设置多长时间?
由于没有接触过,对rabbmit的认知非常浅薄,网上关于rabbmq的知识非常少,很多博客都是搬运.
如果有对这方面了解的大哥,希望不吝赐教

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 6

一般用写一个常驻进程进行消费,rabbitmq 官网有 例子 可以查看,想详细学习可以在b站找java的视频看,基础包的使用方法基本一致(连方法名、参数名甚至参数顺序都是一样的)

1年前 评论

laravel的话应该有listener吧 项目启动的时候启动listener就可以了

1年前 评论
while(true) {
  if (empty(xx)) {
    sleep(1);
  }
  // 业务,不空就一直消费
}
1年前 评论

mq 有官方的client包。 你不需要关心睡眠的问题。 你只需要处理好平滑重启就行。

1年前 评论

这块属于多进程开发 主要的目的就是常驻内存 挂载一个进程才能进行一个监听 因为你得让这个php执行完不结束 那么就得一直运行 开启一个while循环这是一种方式 可以在终端 php index.php 一直跑下去

  • 可以单独用swoole 启动一个进程 进行一个堵塞wait函数 也就是相当于while循环 接收到消息才会跑 运行方式也是 php index.php 命令跑
  • 直接用php文件写一个 楼上那个while循环用php-fpm终端里面 运行方式也是 php index.php 命令跑跑while循环 也可以进程不死 不过进程会不会挂这个就没试过了守护下
1年前 评论
y1415181920 (作者) 1年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!