我在Azure网络作业中同时运行多个QueueTrigger实例。它是一个单一的函数,但被并行地多次调用。
我的函数使用静态变量缓存多次使用的数据。
有时,当函数运行时,静态对象上的冲突只能由试图同时访问它们的多个进程来解释,但我被引导相信队列触发器的每个实例都是孤立运行的。
所以我的问题是;
是否隔离地执行队列触发器实例?
如果没有,是否有特定的事件在加载“实例”时触发,以便可以加载静态对象?
发布于 2018-09-27 21:40:43
通过一些实验就知道了。
QueueTrigger实例是作为WebJob在其中运行的进程的一部分运行的,而不是单独执行的。
如果WebJobs不被告知保持打开状态并将丢失所有静态数据,它们将自动关闭自己。这可能会导致令人困惑的行为,但这是故意的。
https://stackoverflow.com/questions/52498474
复制相似问题