Azure WebJob 队列触发器执行

标签 azure azure-webapps queuetrigger

我正在 Azure Web 作业中同时运行 QueueTrigger 的多个实例。它是一个函数,但并行调用多次。

我的函数使用静态变量来缓存多次使用的数据。

有时,当函数运行时,我会在静态对象上发生冲突,这只能通过多个进程同时尝试访问它们来解释,但我被引导相信队列触发器的每个实例都是独立运行的。

所以我的问题是;

queuetrigger 实例是否隔离执行?

如果没有,加载“实例”时是否会触发特定事件,以便加载静态对象?

最佳答案

通过一些实验弄清楚了。

QueueTrigger 实例作为 WebJob 在内部运行的进程的一部分运行,并且不是孤立执行的。

如果 WebJobs 没有被告知保持打开状态,它们会自动关闭,并且会丢失所有静态数据。这可能会导致令人困惑的行为,但这是设计使然。

关于Azure WebJob 队列触发器执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52498474/

相关文章:

c# - 设置配置并在本地运行 azure 队列触发功能

c# - 与等效的 Webjobs 相比,队列触发的 Azure Functions 的等待时间非常长

php - 使用 PHP 从 Windows Azure 容器获取所有文件

.net - 如何防止使用自定义订阅规则的 NServiceBus 引发错误 "a sql filter does not match the subscribed eventtype"?

c# - 如何将该根证书导入为 Azure 应用服务中的受信任根?

python - Azure 应用程序服务 python 模块导入构建时出现错误

python - 无法在函数应用中向 Azure 队列添加多个项目

c# - Service Fabric 服务远程处理

azure - 读取 ADF 数据流中带下划线的文件名

azure - ARM 模板 Azure Web App - 如何指定堆栈设置(.NET、.NET Core...)?