NodeJS推送队列,由Laravel工作人员使用
我试图消费节点应用程序发送给SQS的消息。 因此,“推”操作由服务器A上的节点应用执行,服务器B上的Laravel App的“监听”操作。
我的问题:我不知道如何格式化php artisan queue:work
消耗的有效载荷php artisan queue:work
。
有没有人经历过这个,find了解决办法?
谢谢!
find了! 经过一些testing后,我最终从队列中读取消息。
基本上,有效载荷必须具有负责执行工作的类和具有实际数据的数据属性的工作属性。 就像是:
var payload = { job: 'App\\Jobs\\MyTestJob@handle', data: {user: foo, email: bar@example.com} };
然后有效载荷将被编码为jsonstring并发送到SQS。
在Laravel一方,Job类看起来像这样:
public function handle($job, $data){}
队列处理程序将自动解码并注入payload.job中指定的方法的属性。 如果没有指定方法,Laravel会尝试运行:: fire()方法。