我尝试使用Node App发送给SQS的消息。所以"推"动作由服务器A上的节点应用程序执行," listen" Laravel App在服务器B上的操作。
我的问题:我不知道如何使用php artisan queue:work
格式化有效负载。
以前有没有人经历过这个并找到解决方案?
谢谢!
答案 0 :(得分:2)
基本上,有效负载必须具有作业属性,其中负责执行工作的类和具有实际数据的数据属性。类似的东西:
var payload = {
job: 'App\\Jobs\\MyTestJob@handle',
data: {user: foo, email: bar@example.com}
};
然后有效载荷将被编码为json字符串并发送到SQS。
在Laravel方面,Job类看起来像这样:
public function handle($job, $data){}
队列处理程序将自动解码并注入payload.job中指定的方法的属性。如果没有指定方法,Laravel将尝试运行:: fire()方法。