创建WebJob计划时发生错误

时间:2015-01-15 13:11:37

标签: azure azure-webjobs azure-webjobssdk

我试图发布我的网站以及一些WebJobs,但在Azure网站上创建网站和作业之后,我看到VS.NET 2013上的错误说:

Error   948 An error occurred while creating the WebJob schedule: No website could be found which matches the WebSiteName [mysitename] and WebSiteUrl [http://mysitename.azurewebsites.net] supplied

我的网站有2个WebJobs,1个连续运行并且已经创建并运行,但需要按计划触发的那个就是这个问题。

关于这里可能出错的任何想法?

修改1

只是想补充一下,计划作业将被创建为" On Demand"

这是我正在使用的发布设置:

{
  "$schema": "http://schemastore.org/schemas/json/webjob-publish-settings.json",
  "webJobName": "ArchiveShipments",
  "startTime": "2015-01-11T00:00:00+05:30",
  "endTime": null,
  "jobRecurrenceFrequency": "Day",
  "interval": 1,
  "runMode": "Scheduled"
}
我应用AzureSDK后BTW。 2.5我发布时没有看到任何错误,但是没有创建预定的WebJob。

10 个答案:

答案 0 :(得分:51)

对于我来说,当我从部署到一个Azure帐户切换到另一个帐户时,就发生了这种情况。 在Visual Studio中,打开/展开Server Explorer侧窗口,右键单击Azure,选择" Connect to Microsoft Azure Subscription ..."。系统会要求您注销并使用新凭据登录。 enter image description here

答案 1 :(得分:10)

如果从PowerShell发布时出现此错误,则可能表示您未登录到您的azure订阅或登录错误的订阅。如果浏览器没有提示您输入凭据,则可能使用了错误的订阅。如果没有要求登录,请清除cookie并再试一次。

答案 2 :(得分:2)

尝试将我的webjob发布到部署位置时出现此问题。

webjob已发布,但在尝试连接时间表时未找到该网站。

我能够通过门户网站进行一次手动发布,并在那里设置时间表来解决这个问题。 之后,我可以从VS发布,并且时间表将保持不变。

答案 3 :(得分:1)

我花了一整天时间。对我来说,解决方案是通过上传ZIP并根据需要安排来手动部署Web作业。然后,在VS中,我将Add Existing Project添加为Web作业,并且发布Web站点按预期更新了计划的Web作业。

答案 4 :(得分:1)

最近更新后,情况发生了变化。我无法发布到我预定工作的任何订阅中。经过深入挖掘后,解决方案如下: - 右键单击​​解决方案并管理解决方案的NuGet包 - 将所有Web Publish模块更改为版本1.0.3

发布。问题解决了。

答案 5 :(得分:1)

在这里尝试了一切并仍然遇到了同样的问题,但我设法解决了以下问题:

我安装了一个名为Microsoft.Web.WebJobs.Publish的软件包,它运行的是旧版本(1.0.3)。我更新到最新版本,目前为1.10.12,然后是第一次发布的app和webjob / schedule。

答案 6 :(得分:1)

我在VS2017中又遇到了这个问题,根本原因是deprecation of the VS Azure Scheduler integration feature。根据David Ebbo在链接线程中的建议,我将我的webjobs转换为使用CRON scheduling feature,现在发布按预期工作。请注意,必须在应用上启用始终开启设置。

如果您遇到此问题,可以使用更多调试选项:

  • 确保使用正确的发布配置文件(pubxml)文件。我有几个针对同一个webjob的发布配置文件,并尝试错误地发布错误。

  • 我建议先尝试一个一个地单独发布webjobs(而不是将它们全部发布到网站旁边)。

  • 如果您无法通过webjob发布,请删除其Properties\PublishProfiles文件夹并尝试重新发布 - 您将会看到一个VS向导,可以让您排序(它会正确地重新创建pubxml个文件。

答案 7 :(得分:0)

尝试更新到Azure SDK的2.9版,该版本修复了相关问题:

  

与Scheduled WebJobs相关的修复问题   身份验证信息未能传递给调度程序   供应过程

https://www.visualstudio.com/en-us/news/vs2015-update2-vs.aspx

修改

我最终放弃使用此调度程序,并切换到Kudu Scheduler(内部WebJob调度程序)。请参阅:https://github.com/projectkudu/kudu/wiki/Web-jobs#scheduling-a-triggered-webjob

实际上更容易设置。您需要做的就是将settings.json文件添加到webjob,其中包含以下内容:{"schedule": "the schedule as a cron expression"}

这里讨论使用Azure Scheduler与Kudu Scheduler的利弊:http://blog.amitapple.com/post/2015/06/scheduling-azure-webjobs/#.Vz4sk5ErJaQ

该博客文章中未提及的一个重要限制是,在计划程序的免费层上不支持创建比每小时更频繁的计划<(如果您没有故意,可能会使用改变它,因为它与应用服务层分开)。这最终驱使我去了Kudu调度员,因为我需要安排我的工作每15分钟运行一次

答案 8 :(得分:0)

在我的情况1.10.12中,将nuget包更新到最新更新,就可以了。

然而,Visual Studio没有设法删除以前的包。要做到这一点,我必须重新启动Windows,然后在打开visual studio之前,删除包含旧版webjobs.publish的文件夹。

这对我有用了!

答案 9 :(得分:0)

我设法通过删除Web csproj文件中的旧引用来消除此错误

<Import Project="..\packages\Microsoft.Web.WebJobs.Publish.1.0.7\tools\webjobs.targets" Condition="Exists('..\packages\Microsoft.Web.WebJobs.Publish.1.0.7\tools\webjobs.targets')" />

我已经升级到了更新的软件包Microsoft.Web.WebJobs.Publish.2.0.0,该软件包也已被引用。