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

Rob*_*sig 14 git azure continuous-deployment azure-webjobs

我有一个启用了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"
  }]
}
Run Code Online (Sandbox Code Playgroud)


webjobs-list.json来源

在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"
}
Run Code Online (Sandbox Code Playgroud)

webjob - 发布 - settings.json

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

但是没有Visual Studio我得到了这个"按需"的WebJob: 在此输入图像描述

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

完整的.sln可以在GitHub找到

Dav*_*bbo 6

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

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

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


San*_*dke 5

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

这个博客有详细信息.

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