Azure函数应用程序在运行时间较长的协调器期间停滞不前。

huangapple go评论74阅读模式
英文:

azure function app stalls out during long running orchestrator

问题

I have a long running (node.js) orchestrator in Azure Function App that calls a couple hundred activity functions. Sometimes with a group of 5 or so running in parallel with context.df.Task.all. I find that it will run steadily for about two hours then the function app itself seems to abruptly stop. The logs stop displaying in the log stream. And the records in my database that the activity functions are supposed to be writing stop writing. There are no exceptions in the logs. It will remain paused or stalled like this indefinitely... until I restart the function app. Then it will come back to to life and resume where it stopped before for a time and then stop again.

  • Does this behavior sound familiar to anyone?
  • Should I update the extension bundle to [4.0.0, 5.0.0)
  • Could my storage account be the problem? Should I create a new one?
  • We are using the "Premium Plan", Could I be running up against a limit of some kind? If so what and what should I tell the IT team to increase.
英文:

I have a long running (node.js) orchestrator in Azure Function App that calls a couple hundred activity functions. Sometimes with a group of 5 or so running in parallel with context.df.Task.all. I find that it will run steadily for about two hours then the function app itself seems to abruptly stop. The logs stop displaying in the log stream. And the records in my database that the activity functions are supposed to be writing stop writing. There are no exceptions in the logs. It will remain paused or stalled like this indefinitely... until I restart the function app. Then it will come back to to life and resume where it stopped before for a time and then stop again.

  • Does this behavior sound familiar to anyone?
  • Should I update the extension bundle to [4.0.0, 5.0.0)
  • Could my storage account be the problem? Should I create a new one?
  • We are using the "Premium Plan", Could I be running up against a limit of some kind? If so what and what should I tell the IT team to increase.

答案1

得分: 1

根据我所知,

  • 我应该将扩展包更新到[4.0.0, 5.0.0)吗?

我认为这个问题与扩展包无关,因为它涉及到在函数应用程序中使用的兼容性扩展、库和包,而扩展包的版本是根据函数应用程序的版本组成的,每个版本都包含一组丰富的支持绑定扩展,根据函数应用程序的版本进行安装。

  • 我的存储账户可能是问题吗?我应该创建一个新的吗?

  • 不要创建新的账户,您可以将存储账户的配额增加到5 PiB。

  • 如果考虑存储账户,请确保函数应用程序和存储账户位于相同的区域,以减少延迟问题。

  • 此外,在生产环境中,最好为每个 Azure 函数应用程序分配一个单独的存储账户。

  • 我们正在使用“高级计划”,我是否可能遇到某种限制?如果是这样,我应该告诉 IT 团队增加什么?

此外,您在问题中提到函数应用程序会停滞,并在停滞后没有执行,只有重新启动后才能继续。我在微软的一些文档中看到了一些提到的情况,即即使在高级计划中托管的长时间运行函数也会停止执行,就像您的情况一样。

Azure函数应用程序在运行时间较长的协调器期间停滞不前。

有关更多信息,请参考MS Doc

英文:

As far as I know,

>- Should I update the extension bundle to [4.0.0, 5.0.0)

I believe this issue is not related to extension bundles because this is regarding on the usage compatible extensions, libraries, packages used in the Function App and extension bundle is versioned where each version comprises of Rich set of supported binding extensions to be installed based on the version of the Function App.

If any timeout value is defined in the host.json, make it as unbounded (-1) as the function project is deployed/hosting in the premium plan for the longer timeout duration of function executions.

>- Could my storage account be the problem? Should I create a new one?

  • Instead of creating a new account, you can increase the quota of the Storage account to 5 PiB.
  • If Storage account is in consideration, then make sure that both the function app and storage account are in same region to reduce latency issues.
  • Also, in production environment - it is better to allocate a separate storage account for each azure function app.

>- We are using the "Premium Plan", Could I be running up against a limit of some kind? If so what and what should I tell the IT team to increase.

Also, you mentioned in the question that the function app stalls, with no executions after stalling and works by restart from where it has paused. I have seen some points mentioned by Microsoft even the long running functions hosted in premium plan will stops with no executions like your scenario:

Azure函数应用程序在运行时间较长的协调器期间停滞不前。

Refer to the MS Doc for more information.

huangapple
  • 本文由 发表于 2023年1月5日 22:48:17
  • 转载请务必保留本文链接:https://go.coder-hub.com/75020235.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定