обратный вызов из workerRole после завершения задачи - PullRequest
3 голосов
/ 04 января 2011

У меня есть рабочая роль, которая создает PDF-документ.Я передаю workerRole необходимые данные через очередь, рабочая роль создает документ PDF, сохраняет его в BLOB, но как я могу отправить адрес BLOB обратно на веб-сайт, чтобы сообщить пользователю, куда идти, чтобы загрузить PDF?

Ответы [ 3 ]

4 голосов
/ 04 января 2011

Это типичный сценарий для шаблона идентификатора корреляции .

Когда рабочая роль завершена, она должна отправить обратно сообщение через очередь , указывающее, что документ готов. Вы можете использовать идентификатор корреляции (такой как идентификатор документа), чтобы указать в сообщении DocumentReadyEvent, к какому исходному запросу относится это событие.

Вы также можете пойти по пути полного CQRS и просто обновить таблицу, относящуюся к представлению, которая включает в себя новый документ, и позволить веб-сайту запрашивать данные.

1 голос
/ 05 января 2011

Вы можете сделать это наоборот, используя общую систему именования.Позвольте веб-сайту / пользовательскому приложению выбрать имя и местоположение большого двоичного объекта на основе некоторого стандартного соглашения.Сайт / приложение может время от времени проверять наличие большого двоичного объекта с помощью http-запроса.

0 голосов
/ 04 января 2011

Но, вы хотите в режиме реального времени проинформировать пользователя о готовом документе?

Вы можете делать много вещей, например, вы можете создать таблицу, разделенную по «идентификатору пользователя», и сохранить там URL готовых документов, а также установить ajax-вызов, который в фоновом режиме проверяет содержимое этой таблицы для этого. Пользователь регулярно, и когда он находит новый, который еще не «просматривался», показывать предупреждение со ссылкой для скачивания.

Просто идея.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...