Azure 管道不会等待函数应用程序完成

问题描述 投票:0回答:1

我有一个函数应用程序,可以运行很长时间。我使用 Azure yaml 管道触发它,如下所示:

- task: AzureFunction@1
  displayName: Run Dummy function
  inputs:
    function: '$(FunctionURL)/api/DummyFunction'
    key: '$(FunctionKey)'
    method: 'POST'
    body: $(AzureFunctionBody)        
    waitForCompletion: 'true'

每次运行管道时,它都会失败并显示错误消息:

            > Response Code: 0
            > Response: An error was encountered while processing request. Exception: 
            > Exception Message: The request timed out after 60 seconds as no response was received. (type TimeoutException)

即使我在管道中遇到异常,函数应用程序本身也会被触发并完全运行,没有任何问题。

如何让管道等待函数应用程序完成,即使这意味着等待几个小时?

azure azure-devops azure-functions azure-pipelines azure-yaml-pipelines
1个回答
0
投票

如何让管道等待函数应用程序完成,即使这意味着等待几个小时?

您可以使用 作业超时 设置来指定运行作业的分钟限制 - 例如:

jobs:
- job: Deploy
  timeoutInMinutes: 0
  steps:
    # ...

将该值设置为表示作业可以运行:

  • 永远使用自托管代理
  • 在具有公共项目和公共存储库的 Microsoft 托管代理上使用 360 分钟(6 小时)
  • 在具有私有项目或私有存储库的 Microsoft 托管代理上使用 60 分钟(除非支付额外容量)
© www.soinside.com 2019 - 2024. All rights reserved.