I'm trying to consume messages sent to SQS by a Node App. So the "push" action is performed by Node App on the server A, the "listen" action by Laravel App on server B.
My problem: I don't know how to format the payload to be consumed with php artisan queue:work
.
Has anyone experienced this before and found a solution?
Thanks!
Found it! After some tests I finally menage to read messages from the queue.
Basically, the payload must have a job property with the class responsible for executing the work and a data property with the actual data. Something like:
var payload = {
job: 'App\\Jobs\\MyTestJob@handle',
data: {user: foo, email: [email protected]}
};
Then the payload will be encoded to json string and sent to SQS.
On Laravel side the Job class look like this:
public function handle($job, $data){}
The queue handler will automatically decode and inject the properties on the method specified in the payload.job. If no method is specified Laravel will try to run ::fire() method.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With