简体   繁体   English

耐用的功能-活动似乎停止了

[英]Durable Functions - Activities seem to stop

Please could someone confirm my thoughts. 请有人确认我的想法。

I have an orchestration, which is calling the same Activity say 400 times. 我有一个业务流程,它正在调用同一活动说400次。 I'm using a fan-out/fan-in concept. 我正在使用扇出/扇入概念。

await Task.WhenAll(collectionOfTasks);

If those 400 activities take longer than 10 minutes in total to process, it seems that it doesn't complete, and doesn't pick up/continue again, unless another call is made to the orchestration method. 如果这400项活动总共花了10分钟以上的时间,那么它似乎不会完成,并且不会再次接听/继续,除非再次调用业务流程方法。

Is this right? 这是正确的吗? Does the Azure Function shut down if nothing is running in the Orchestration for 10 minutes? 如果业务流程10分钟未执行任何操作,Azure功能是否会关闭? Doesn't matter if the Activities functions are still running? 活动功能是否仍在运行并不重要?

Note that each individual function execution on a consumption Functions application can only run for 10 minutes before the application is recycled by the Azure infrastructure. 请注意,在消耗函数应用程序上执行的每个单独函数只能在Azure基础结构回收应用程序之前运行10分钟。 This is a little nuanced for orchestrations, as they can effectively run forever, as every time they await an activity function, the execution stops, and once the activity finishes, the execution will resume. 这对于业务流程而言有点微妙之处,因为它们可以永远有效地运行,因为每次他们await活动功能时,执行都会停止,并且一旦活动结束,执行就会恢复。 As long as you design your orchestration function so that it never runs for more than 10 minutes at a time, it can effectively run forever. 只要您将业务流程功能设计为每次运行不超过10分钟,它就可以永远有效运行。

What you may be running into is one (or more) of your 400 activity function executions taking longer than 10 minutes. 您可能会遇到的问题是,执行400个活动函数中的一个(或多个)花费的时间超过10分钟。 If that is the case, it could be recycling the application, and not restarting until make another call to the orchestration method. 如果是这种情况,它可能正在回收应用程序,并且直到再次调用编排方法才重新启动。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM