时间触发的azure函数仅在一个实例上运行

时间:2018-05-11 00:44:26

标签: azure-functions

据我所知,定时器触发的azure功能没有缩放,所以我创建了多个这样的功能,希望可以解决规模问题。但我发现,所有这些功能总是在同一个实例上运行,另外两个功能一直处于空闲状态。

当我只有一个定时器触发功能时,所有实例都会轮流运行它。

不过,我正在使用azure功能插槽。

感谢。 黎东

1 个答案:

答案 0 :(得分:2)

定时器触发器不是对工作负载进行负载平衡的最佳解决方案。

当您的功能应用程序启动时,第一个实例将获取锁定并将运行所有计时器作业。当第二个实例出现时,它不会添加任何立即值,因为已经锁定了。

快速解决方法可能是使用多个功能应用程序,但我不建议这样做。

如果你在计时器上做了一些繁重的工作,我建议你将你的功能分成一个快速可执行和资源非要求的计时器部分,并将其余部分发送到队列。队列触发器将能够根据您的需要在实例之间分配负载,以完成资源密集型工作负载。