【问题标题】:Azure ARM Templates to deploy WebJobs用于部署 WebJobs 的 Azure ARM 模板
【发布时间】:2016-04-25 11:46:16
【问题描述】:

大家,

谁能帮助我使用 ARM 模板部署 WebJobs 吗?

谢谢, 拉贾拉姆。

【问题讨论】:

  • 获取 Continuous webjob 的模板也会很有帮助。当前的答案似乎仅涵盖预定的网络作业。

标签: azure azure-webjobs arm-template


【解决方案1】:

David Ebbo 的template shared 展示了如何使用 Arm 模板部署 Webjob。

在此模板中,触发的 Web 作业链接到由同一模板部署的网站。 Webjob 是 jobCollection 的一部分。此 jobCollection 使用“dependsOn”节点链接到其父网站。

{
  "apiVersion": "2014-08-01-preview",
  "name": "[parameters('jobCollectionName')]",
  "type": "Microsoft.Scheduler/jobCollections",
  "dependsOn": [
    "[resourceId('Microsoft.Web/Sites', parameters('siteName'))]"
  ],
  "location": "[parameters('siteLocation')]",
  "properties": {
    "sku": {
      "name": "standard"
    },
    "quota": {
      "maxJobCount": "10",
      "maxRecurrence": {
        "Frequency": "minute",
        "interval": "1"
      }
    }
  },
  "resources": [
    {
      "apiVersion": "2014-08-01-preview",
      "name": "DavidJob",
      "type": "jobs",
      "dependsOn": [
        "[resourceId('Microsoft.Scheduler/jobCollections', parameters('jobCollectionName'))]"
      ],
      "properties": {
        "startTime": "2015-02-10T00:08:00Z",
        "action": {
          "request": {
            "uri": "[concat(list(resourceId('Microsoft.Web/sites/config', parameters('siteName'), 'publishingcredentials'), '2014-06-01').properties.scmUri, '/api/triggeredjobs/MyScheduledWebJob/run')]",
            "method": "POST"
          },
          "type": "http",
          "retryPolicy": {
            "retryType": "Fixed",
            "retryInterval": "PT1M",
            "retryCount": 2
          }
        },
        "state": "enabled",
        "recurrence": {
          "frequency": "minute",
          "interval": 1
        }
      }
    }
  ]
}

问候,

【讨论】:

  • 谢谢拉妮丝。我已经看过那些模板了。我创建了一个调度程序和一个 WebJob。我关心的是如何上传我的作业(Zip 文件)以使其运行。
【解决方案2】:

其他答案涵盖了在 Azure 中创建作业的模板方面,但仍然存在上传 webjob 可执行文件的问题。

假设此部署是大型 Azure 网站部署的一部分,您只需在网站分发中包含您的 webjob 可执行文件。

根据kudu documentation,放置 EXE 的约定如下:

要部署触发的作业,请将您的二进制文件复制到:app_data\jobs\triggered\{job name}

要部署连续作业,请将您的二进制文件复制到:app_data\jobs\continuous\{job name}

【讨论】:

【解决方案3】:

Azure 调度程序于 ​​2019 年 12 月过时,此后,所有调度程序作业集合和作业停止运行,这就是调度程序作业集合不再可用的原因,应使用 Azure logic apps 代替。 -Migrate Azure WebJobs from Azure Scheduler to Azure Logic Apps.

【讨论】:

  • 重复网络作业是否在后台使用调度程序?
  • 抱歉,我没有找到有关您问题的任何确切信息,但是我建议您迁移到 azure 逻辑应用程序或使用 azure 函数
【解决方案4】:

这是deploys an Azure Web App with a Schedule Job 的 Azure 快速入门模板。

此外,您是否查看过 Visual Studio 2015 Azure SDK 对 Azure 资源管理器项目类型的支持?它包含UI for more easily authoring ARM Templates directly from within Visual Studio

【讨论】:

  • 谢谢克里斯。会试一试,让你知道。
  • 克里斯,是的,我工作过。我现在可以创建调度程序和网络作业。我仍然没有看到任何将任何文件 (.exe) 上传到新创建的 Web 作业的方法。
  • azure.microsoft.com/en-us/documentation/articles/… 引用 Web 项目并在构建时生成构建工件。然后添加 MsDeploy ARM 部分。
猜你喜欢
  • 1970-01-01
  • 2019-02-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-09-30
  • 1970-01-01
相关资源
最近更新 更多