Длинная очередь Azure Service Bus - PullRequest
0 голосов
/ 18 июня 2019

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

Я настроил свою шину в Node.JS, как показано ниже.

Теперь, когда в течение определенного промежутка времени нет сообщений, он будет преобразован в пустой массив, как указано в idleTimeoutInSeconds.Предназначена ли служебная шина Azure так, как я ожидал?Если нет, то есть что-то более подходящее, что я могу использовать для решения этой проблемы?

Мне нужно что-то, что работает постоянно и реагирует на отправку новых сообщений.

РЕДАКТИРОВАТЬ: веб-сервер не нужно работать в некоторыхсценарии, хотя это было бы хорошо подходит.

async function main(){
  const sbClient = ServiceBusClient.createFromConnectionString(connectionString); 
  const queueClient = sbClient.createQueueClient(queueName);
  const receiver = queueClient.createReceiver(ReceiveMode.ReceiveAndDelete);
  try {
    while(true){
        const messages = await receiver..receiveMessages(10);
        console.log("Received messages:");
        console.log(messages.map(message => message.body));
        }
        } finally {
        await sbClient.close();
        }
}

main().catch((err) => {
  console.log("Error occurred: ", err);
});

1 Ответ

0 голосов
/ 18 июня 2019

Azure Webjobs может работать непрерывно и подписаться на очередь / тему служебной шины.

Я совершенно уверен, что даже после часа бездействия он все равно будет отвечать на новые сообщения после этого.

Я реализовал это только в C #, но не в nodejs, хотя я уверен, что практика такая же.

...