首页 文章

通过Git部署的计划Azure WebJob会导致按需作业

提问于
浏览
14

我有一个启用了Git的ASP.NET WebApp,其中包含一个关联的Azure WebJob . 当我通过Visual Studio部署它时,一切都很好,但在连续交付环境中这有点难,所以我想通过Git发布Web App和WebJob .

通过Azure工具我关联了我的WebJob项目,我在WebApp项目中获得了一个“webjobs-list.json”文件:

{
"$schema": "http://schemastore.org/schemas/json/webjobs-list.json",
"WebJobs": [{
  "filePath": "../CodeInside.Hub.Job/CodeInside.Hub.Job.csproj"
  }]
}

webjobs-list.json Source

在Console App Project中,我得到了一个带有以下内容的“webjob-publish-settings.json”文件:

{
"$schema": "http://schemastore.org/schemas/json/webjob-publish-settings.json",
"webJobName": "Hub-Crawler",
"startTime": "2014-11-25T02:00:00+01:00",
"endTime": null,
"jobRecurrenceFrequency": "Day",
"interval": 1,
"runMode": "Scheduled"
}

webjob-publish-settings.json

正如您所看到的,“runMode”设置为“Scheduled”,当我通过Visual Studio部署它时一切正常 .

但没有Visual Studio,我得到了这个"on demand" WebJob:
enter image description here

这是目前不支持或可能是什么问题?

完整的.sln可以在GitHub上找到

3 回答

  • 0

    最后有一个使用git部署部署预定webjobs的解决方案 .

    This博客有详细信息 .

    该解决方案使用kudu调度程序而不是Azure调度程序,因此Azure门户仍将作业显示为“按需”,但它确实按计划执行,门户网站准确显示历史记录 .

  • 6

    实际上,问题是该方案尚未得到很好的支持 . 具体来说,当通过git(或GitHub / Bitbucket)发布时,将忽略 webjob-publish-settings.json 文件 .

    一种解决方法是使用VS发布一次只是为了创建调度程序,然后使用git .

    最终,将使用定义WebSite和调度程序的Azure Resource Manager模板来解决此方案 . 从技术上讲,这可以在今天完成,但目前还没有太多的文档 .

  • 5

    在Azure中为此提供更好的支持机制之前,您可以使用PowerShell查看脚本 . 见:Create a Scheduled Azure WebJob with PowerShell

相关问题