Я пытаюсь использовать сообщения, отправленные в SQS с помощью приложения Node. Таким образом, действие «push» выполняется Node App на сервере A, «прослушивание» действия Laravel App на сервере B.
Моя проблема: я не знаю, как отформатировать полезную нагрузку, которая будет потребляться с помощью php artisan queue:work
.
Кто-нибудь испытал это раньше и нашел решение?
Благодаря!
Найди его! После некоторых тестов я, наконец, умею читать сообщения из очереди.
В основном, полезная нагрузка должна иметь свойство задания с классом, ответственным за выполнение работы, и свойство данных с фактическими данными. Что-то вроде:
var payload = { job: 'App\\Jobs\\MyTestJob@handle', data: {user: foo, email: bar@example.com} };
Затем полезная нагрузка будет закодирована в строку json и отправлена в SQS.
На стороне Laravel класс Job выглядит следующим образом:
public function handle($job, $data){}
Обработчик очереди будет автоматически декодировать и вводить свойства по методу, указанному в файле loadload.job. Если метод не указан, Laravel попытается запустить метод :: fire ().