【发布时间】:2020-12-14 17:19:17
【问题描述】:
我是新手,也许我把整个概念弄错了,我想在一个容器中有一个永久运行的后台作业,它不断地从 Azure 服务总线接收消息。有时会超过一个小时没有消息,有时消息会泛滥成灾。
我已经在 Node.JS 中设置了我的总线,如下所示。
现在,当在一定时间内没有消息时,将解析为空数组,如 idleTimeoutInSeconds 所示。 Azure 服务总线是否旨在像我预期的那样使用? 如果没有,我可以用更合适的方法来解决这个问题吗?
我需要能够永久运行并对发送的新消息做出反应的东西。
编辑:Web 服务器在某些情况下不需要工作,即使它很适合。
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);
});
【问题讨论】:
-
Azure Functions 浮现在脑海中,因为它专为消息流可变的场景量身定制。此外,您不必担心规模。
标签: node.js azure azureservicebus