Azure部署:创建webjob计划时出错(400 Bad Request)

时间:2015-11-20 13:53:15

标签: azure visual-studio-2013 azure-web-sites webdeploy azure-webjobs

从Visual Studio 2013发布和Azure网站时收到以下错误:

  

12> Publish Succeeded。 12>创建调度程序作业   12 - ; C:\ projectPath \包\ Microsoft.Web.WebJobs.Publish.1.0.7 \工具\ webjobs.console.targets(110,5):   错误:创建WebJob计划时发生错误:响应   状态代码不表示成功:400(错误请求)。

我已阅读其他类似问题的帖子:404错误,BadRequest:ETag指定的条件不满意......但这些似乎都不是问题。我重新安装了VS 2013的Microsoft Azure工具,我的解决方案中的webjobs.publish包,它也没有用。我还检查了这篇文章https://social.msdn.microsoft.com/forums/azure/en-US/d5b44e53-c4d7-48ff-a024-4bdd6eb48b79/sheduled-web-jobs-in-azure-web-site-not-configurable-in-same-region-as-web-siteand-workaround?forum=azurescheduler#d5b44e53-c4d7-48ff-a024-4bdd6eb48b79并做了他尝试过的但却没有解决这个问题。 看起来我的所有文件都已正确上传到Azure网站,并且在创建调度程序作业时问题就开始了。

奇怪的是,webjobs上传(更新)并且它们也正常工作,但是计划的webjobs不在Azure管理门户中的jobcollection列表中。我还尝试从我的网站上删除我当前的工作集和所有工作,但是当我发布网站时,所有的webjobs都被创建但是工作集合是空的。 我有一个与VS类似的问题,问题是该网站的凭据已过期,但问题是通过重新输入VS中的凭据解决的。知道如何解决这个问题吗?

3 个答案:

答案 0 :(得分:5)

请参阅我对Visual Studio 2015 Publish WebJobs Issue的回答,该回复显示了另一种进行日程安排的方法,可以使事情变得更简单并避免出现这种情况。

总而言之,您可以在WebJob文件的根目录下创建一个settings.job文件,其中包含一个CRON表达式。 e.g。

{ "schedule": "0 0 * * * *" }

有关此技术的更多信息,请参阅以下文档链接:

https://azure.microsoft.com/en-us/documentation/articles/web-sites-create-web-jobs/#CreateScheduledCRON

http://blog.amitapple.com/post/2015/06/scheduling-azure-webjobs/

答案 1 :(得分:5)

我今天遇到了同样的问题,对我来说解决方案更简单。发生的事情是我在webjob-publish-settings.json上配置的startTime几天前(我正在开发时)。我改变了明天的startTime并且工作正常。看起来调度程序在startTime不在将来时无法启动。希望能帮助到你。

答案 2 :(得分:0)

正如我在我的问题中所提到的,我删除了我的webcolletion以解决问题,但我没有注意到新的集合是在免费模式下创建的(我不知道为什么因为我的网站处于标准模式)。因此,将jobcollection设置为标准模式可以部分解决问题。然后我收到以下错误:

  

创建WebJob计划时发生错误:响应状态   代码不表示成功:409(冲突)。

我去了天蓝色的门户网站,我看到除了一个以外的所有工作都是正确创建的(按计划工作)。我重置了webjob的webjob-publish-settings.json文件,我发布了它,问题解决了。