ADF 超时设置用于允许 ADF 在认为活动失败之前等待指定的时间段。它不会覆盖函数应用程序的执行超时。
此设置配置为确保 ADF 不会无限期地等待可能需要很长时间才能执行的函数。
如果函数执行超过定义的 ADF 超时,即使函数继续在后台运行,管道活动也会失败。
Azure Functions 有自己的超时配置,可以通过在
functionTimeout
中设置 host.json
来管理。
特定计划的功能应用程序超时:
无论定义的函数应用超时设置如何,一旦执行时间达到
230
秒,Azure Function就会超时。
这是由于 Azure Functions 使用的底层基础设施所致,例如 Azure 负载均衡器,其默认空闲超时设置为 4 分钟(Web 请求的响应时间限制)。
如果您的应用程序未在大约 240 秒内返回响应(Windows 应用程序为 230 秒,Linux 应用程序为 240 秒),如 MSDOC 中所述。
如果您的 Azure 函数需要更长的执行时间,即超过
230
秒,请使用 Durable Functions。
持久功能异步运行并支持更长时间运行的任务,没有任何超时,请参阅@UtkarshPal的SO答案。
我创建了一个持久的 Azure 函数并配置了 Azure 数据工厂:
输出:
持久函数创建后台进程,并提供一些与该进程交互的 URL,包括一个用于查询其状态的 URL,请参阅 @UtkarshPal 的 SO 答案。
{
"id": "badb8e26563c47459511f7baf6a291e3",
"purgeHistoryDeleteUri": " https://kpfn11.azurewebsites.net/runtime/webhooks/durabletask/instances/badb8e26563c47459511f7baf6a291e3?code=k2T5xoJWvVgyRXXXBtanotcFAzFuvIpYug== ",
"sendEventPostUri": " https://kpfn11.azurewebsites.net/runtime/webhooks/durabletask/instances/badb8e26563XXXa291e3/raiseEvent/ {eventName}?code=k2T5xoJWvVgyRjLXXXBtanotcFAzFuvIpYug==",
"statusQueryGetUri": " https://kpfn11.azurewebsites.net/runtime/webhooks/durabletask/instances/badbXXXbaf6a291e3?code=k2T5xoJWvVgyRjLxlyBvlWw1cMXXXuvIpYug== ",
"terminatePostUri": " https://kpfn11.azurewebsites.net/runtime/webhooks/durabletask/instances/badb8e265XXX1f7baf6a291e3/terminate?reason= {{text}}&code=k2T5xoJWvVgyRjLxXXcMmpu0oyVjhFBtanotcFAzFuvIpYug==",
"suspendPostUri": " https://kpfn11.azurewebsites.net/runtime/webhooks/durabletask/instances/badbXX11f7baf6a291e3/suspend?reason= {{text}}&code=k2T5xoJWvVgyRjXXpu0oyVjhFBtanotcFAzFuvIpYug==",
"resumePostUri": " https://kpfn11.azurewebsites.net/runtime/webhooks/durabletask/instances/badb8eXX7baf6a291e3/resume?reason= {{text}}&code=k2T5xoJWvVgyRXXMmpu0oyVjhFBtanotcFAzFuvIpYug==",
"effectiveIntegrationRuntime": "AutoResolveIntegrationRuntime (East US)",
"executionDuration": 0,
"durationInQueue": {
"integrationRuntimeQueue": 0
},
"billingReference": {
"activityType": "ExternalActivity",
"billableDuration": [
{
"meterType": "AzureIR",
"duration": 0.016666666666666666,
"unit": "Hours"
}
]
}
}