您可以从Azure队列触发器弹出消息吗

问题描述

我有一个应用程序,其中有数千个需要执行的独立计算。我正在通过Azure中的队列触发函数来实现这一点。一切正常。计算的特定性质是,在执行每个计算的细节之前,每个函数调用都会执行大量的初始开销,所有初始调用的开销都相同(基本上是从数据库/缓存中获取数据) 。所以我在想,一旦函数完成,它可以检查队列中是否还有未处理的消息,如果是,则将消息弹出队列,并在相同的函数中执行此计算,从而无需执行最初的开销又来了。这是可能的,还是会混淆后台的队列/功能机制?

解决方法

根据您的其他一些问题,我假设您正在谈论 C# Azure函数。

我建议创建一个服务,您将其注册为单例,它会承担初始开销并将其注入到您的Azure Function类中。

这样,您可以依靠Azure Functions缩放机制,并且每个函数实例仅进行一次初始化。

请参阅:Use dependency injection in .NET Azure Functions

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...