【问题标题】:Time triggered azure functions only run on one instance时间触发的 azure 函数仅在一个实例上运行
【发布时间】:2018-05-11 00:44:26
【问题描述】:

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

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

顺便说一句,我正在使用 azure 函数槽。

谢谢。 立东

【问题讨论】:

    标签: azure-functions


    【解决方案1】:

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

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

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

    如果您需要在计时器上完成一些繁重的工作,我建议您将您的函数拆分为一个快速可执行且资源要求不高的计时器部分,然后将其余部分发送到队列中。队列触发器将能够根据需要在实例之间分散负载,以完成资源密集型工作负载。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-16
      • 1970-01-01
      • 2016-06-03
      • 2018-07-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多