【问题标题】:Durable Functions - Activities seem to stop耐用功能 - 活动似乎停止
【发布时间】:2019-01-17 14:17:43
【问题描述】:

请有人证实我的想法。

我有一个编排,它调用同一个 Activity 说 400 次。我正在使用扇出/扇入概念。

await Task.WhenAll(collectionOfTasks);

如果这 400 个活动的总处理时间超过 10 分钟,则它似乎没有完成,并且不会再次启动/继续,除非对编排方法进行另一个调用。

这是对的吗?如果 10 分钟内编排中没有运行任何内容,Azure 函数是否会关闭?活动功能是否仍在运行无关紧要?

【问题讨论】:

    标签: c# azure-functions azure-functions-runtime azure-durable-functions


    【解决方案1】:

    请注意,在使用 Functions 应用程序上执行的每个单独的函数只能运行 10 分钟,然后应用程序才会被 Azure 基础架构回收。这对于编排来说有点微妙,因为它们可以有效地永远运行,因为每次他们await 一个活动函数时,执行停止,一旦活动完成,执行将恢复。只要您设计编排功能,使其一次运行时间不超过 10 分钟,它就可以有效地永远运行。

    您可能会遇到 400 个活动函数执行中的一个(或多个)耗时超过 10 分钟。如果是这种情况,它可能正在回收应用程序,并且在再次调用编排方法之前不会重新启动。

    【讨论】:

    • 我已经能够在 git github.com/pmatthews05/DurableFunctionTest 中创建一个演示。您将需要一个 local.settings.json 文件来指向 AzureWebJobsStorage。每个活动功能运行 1 分钟,不到 10 分钟。使用邮递员,有时调用localhost:7071/api/RunTest会运行到最后,有时检查状态,它仍然说正在运行,但什么也没发生。
    猜你喜欢
    • 1970-01-01
    • 2020-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-11
    相关资源
    最近更新 更多