Azure WebJob QueueTrigger 执行

Azure WebJob QueueTrigger execution

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

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

有时当函数得到 运行 我在静态对象上有冲突,这只能由多个进程试图同时访问它们来解释,但我被引导相信每个实例queuetrigger 运行s 隔离。

所以我的问题是;

queuetrigger实例是隔离执行的吗?

如果不是,是否有特定事件在加载 "instance" 时触发以便加载静态对象?

通过一些实验弄明白了。

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

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