Как мне обрабатывать push-сообщения от IronMQ, когда моей конечной точкой является IronWorker?
Документация для push-очередей IronMQ описывает, как конечные точки должны обрабатывать / отвечать на push-сообщения. Однако у меня сложилось впечатление, что это для обычных веб-хуков, и я не могу найти никакой документации или примеров того, что делать, когда конечной точкой для очереди push-уведомлений является IronWorker.
Заботится ли среда IronWorker об ответе службе IronMQ при запуске новой задачи IronWorker для сообщения, помещаемого в очередь, или мой код IronWorker должен обрабатывать ответ? Если мне нужно обработать это в моем коде, есть ли автоматически предоставленные мне переменные, которые представляют запрос и / или ответ webhook?
Как я упоминал выше, я искал пример кода, но все, что я нашел, - это примеры веб-крюков IronWorker, которые получают POST-файлы из чего-то вроде GitHub, а не из IronMQ. Если есть примеры того, что я пытаюсь сделать, пожалуйста, укажите мне на это!
2 ответа
На самом деле существует специальный формат подписчика только для IronWorker, как указано в документации по Push-очереди здесь: http://dev.iron.io/mq/reference/push_queues/. Например:
ironworker:///my_worker
Это будет запускать рабочую задачу всякий раз, когда что-то попадает в вашу очередь. Или вы можете использовать URL-адрес рабочего веб-крючка. И вам не нужно иметь дело с ответом, как сказал @thousandsofthem, IronWorker вернет 200, которое подтверждает отправленное сообщение.
IronWorker API немедленно ответит на пост-запрос со статусом "HTTP 200 OK" и поставит задачу в очередь, после чего будет слишком поздно что-то ответить на запущенную задачу.
Точное значение webhook можно найти на странице "Код" ( https://hud.iron.io/). Снимок экрана: http://i.imgur.com/aza7g0h.png Просто используйте его "как есть"