Laravel8使用rabbitmq消费者如何解析生产者给的数据?

版本:php7.4 + laravel8

场景:
使用laravel8作为生产者往队列塞数据:

$p = [
  'name'=>'MQ'
  ];
Test::dispatch(json_encode($p))->onConnection('rabbitmq')
 ->onQueue('test-queue');

现在代码都是通的,消费者那边(使用node.js)也可以拿到数据,但是拿到的是这样的:

{"uuid":"d5537092-e538-43b6-9ad0-af38528b1737","displayName":"App\\Jobs\\Test","job":"Illuminate\\Queue\\CallQueuedHandler@call","maxTries":null,"maxExceptions":null,"failOnTimeout":false,"backoff":null,"timeout":null,"retryUntil":null,"data":{"commandName":"App\\Jobs\\Test","command":"O:13:\"App\\Jobs\\Test\":11:{s:6:\"params\";s:13:\"{\"name\":\"MQ\"}\";s:3:\"job\";N;s:10:\"connection\";s:8:\"rabbitmq\";s:5:\"queue\";s:10:\"test-queue\";s:15:\"chainConnection\";N;s:10:\"chainQueue\";N;s:19:\"chainCatchCallbacks\";N;s:5:\"delay\";N;s:11:\"afterCommit\";N;s:10:\"middleware\";a:0:{}s:7:\"chained\";a:0:{}}"},"id":"51aa19a2-524c-48a7-8983-b5faa5d5d4b9"}

他们那边很难拿出{“name”:”MQ”}这一块,因为这个数据是laravel丢出去的,应该要怎么做,他们拿到的就是{“name”:”MQ”}这么一点

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
最佳答案

为什么不直接用 mq组件往里面写数据
rabbitmq.shujuwajue.com/ying-yong-...

2年前 评论
bluememory (楼主) 2年前
哪吒的狗腿子 (作者) 2年前
讨论数量: 4

为什么不直接用 mq组件往里面写数据
rabbitmq.shujuwajue.com/ying-yong-...

2年前 评论
bluememory (楼主) 2年前
哪吒的狗腿子 (作者) 2年前
panda-sir

别用 直接用rabbitmq laravel的是把整个对象的执行方法序列化存起来了 取的时候 反序列化后再直接执行

2年前 评论

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