Сервисная шина Azure не получает сообщения - PullRequest
0 голосов
/ 31 мая 2018

Я использую служебную шину Azure для отправки сообщений через контейнеры в моей настройке K8s.Внедрение службы, которая принимает сообщения, осуществляется в Node.js. Со страницы документации приведен код, который я использую для получения сообщений.

serviceBusService.receiveQueueMessage('feedback', function(error, receivedMessage) {

  if (!error) {

   // Message received and deleted

   console.log(receivedMessage);

  //..

   }

});

В первый раз все работает, как и ожидалось, носообщения не принимаются во второй раз.Он работает, как и ожидалось, когда фрагмент кода находится внутри блока setInterval.Что, кажется, не предназначено для этого.

Есть идеи, что может быть не так?

1 Ответ

0 голосов
/ 26 июня 2018

Я не использовал библиотеку js для клиента ServiceBus, но библиотека .NET, которая имеет подобные методы, кажется.Так что, если js versjon работает так же, то он получает только одно сообщение, и вам нужно продолжить самостоятельно.

В библиотеке .Net обычно есть два пути:

  1. Вы пишете свой собственный цикл while с тем, что считаете нужным

  2. Вы используете RegisterMessageHandler, который, по-видимому, отсутствует в библиотеке js

Параметрномер 2, как правило, делает то же самое и запускает цикл while внутри насоса, чтобы вам не пришлось его реализовывать самостоятельно.

Здесь вы можете посмотреть о том, как работает цикл while.реализовать и сделать что-то похожее на это в JS.

...