【问题标题】:ActivityTrigger Durable Function: max execution time limit via Azure Function App and Consumption planActivityTrigger Durable Function:通过 Azure Function App 和消费计划的最大执行时间限制
【发布时间】:2019-08-18 18:09:47
【问题描述】:

ActivityTrigger 持久函数是否仍通过以下消耗计划限制为 10 分钟的最大超时持续时间:

https://docs.microsoft.com/en-us/azure/azure-functions/functions-scale#timeout

我遇到了下面的示例,它似乎运行了 10 分钟以上。

[FunctionName("A_SimulateLongRunningTask")]
public static async Task<object> TaskExecutor([ActivityTrigger] string taskInput, TraceWriter log)
{
   dynamic longRunningTask = JsonConvert.DeserializeObject(taskInput);

   //Simulate a long running task, based on the provided duration
   //taskDurationInSeconds is 700 seconds, which is more than max of 10mins via consumption plan
   await Task.Delay(TimeSpan.FromSeconds((int)longRunningTask.taskDurationInSeconds));
   return true;
}

https://toonvanhoutte.wordpress.com/2018/08/19/perform-long-running-logic-apps-tasks-with-durable-functions/

https://docs.microsoft.com/en-us/azure/azure-functions/functions-host-json#functiontimeout https://docs.microsoft.com/en-us/azure/azure-functions/functions-scale#timeout

【问题讨论】:

  • 您是否真的尝试过运行该活动函数并让它休眠 (Task.Delay()) 的时间长于函数超时时间?我认为这应该行不通。
  • 很高兴您链接了所有相关文档,但这似乎不是我能找到的明确答案。 @silent,我不相信函数超时适用于持久函数。 OrchestrationTrigger 有一些模式可以在 while 循环中运行(例如:docs.microsoft.com/en-us/azure/azure-functions/durable/…),但我不确定 ActivityTrigger 的生命周期。我认为它也是不受约束的,但想澄清一下。

标签: azure azure-functions azure-functions-runtime


【解决方案1】:

这是一种将长时间运行的任务分解为多个较短运行的任务,然后将它们链接在一起的方法,以便每个任务完成后都可以调用工作流中的下一个任务。这基本上可以让您摆脱 Azure Functions Runtime 施加的有限时间限制,该限制限制了 Function 在自动终止之前可以执行的最长时间。

所有这些模式都必须执行任务,这些任务需要自定义代码并且它们需要以异步方式运行,可能在很长一段时间内,Azure Durable Functions 绝对是这种方式去。这篇博文描述了我们如何通过 Webhook 操作模式,通过 Durable Functions 实现处理长时间运行任务的通用方法。

【讨论】:

  • 这个答案似乎跳过了原来的问题。 @Pingpong 已经在使用一个 Durable Function,但正在询问消费计划中由 DurableOrchestrationContext 启动的 ActivityTrigger 是否有最大执行时间限制?
猜你喜欢
  • 2023-01-28
  • 2021-01-07
  • 2020-01-04
  • 2023-01-05
  • 1970-01-01
  • 2019-05-17
  • 2023-04-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多