部署 webjob 计划时出错 - 响应状态代码不表示成功:409(冲突)

Error deploying webjob schedule - Response status code does not indicate success: 409 (Conflict)

我有一个包含三个预定网络作业的项目。它们都从 Visual Studio 正确部署,但无法为第三个创建计划。我收到以下错误:

webjobs.console.targets(110,5): Error : An error occurred while creating the WebJob schedule: Response status code does not indicate success: 409 (Conflict).

我在 webjob-publish-settings.json 中的日程安排没有什么特别的:

{
  "$schema": "http://schemastore.org/schemas/json/webjob-publish-settings.json",
  "webJobName": "...",
  "startTime": "2015-12-07T00:00:00-05:00",
  "endTime": null,
  "jobRecurrenceFrequency": "Day",
  "interval": 1,
  "runMode": "Scheduled"
}

我尝试从 Azure 门户手动添加计划并获得了更多信息。

Job collection 'WebJobs-EastUS' reaches maximum number of jobs allowed.

事实证明,每个集合只能有 5 个作业。这个项目有 3 个工作和两个环境,所以一共有 6 个。我在一个新集合中创建了一个新的作业计划,然后删除了该作业,并尝试重新部署以查看它是否使用了新的空集合。它没有,我得到了同样的错误。

接下来,我删除了原始集合中的一个作业并重新部署。那一次它工作得很好。这不是一个理想的解决方案,因为当我需要 6 个时,我仍然只能做 5 个。

有没有办法指定用于调度程序的作业集合?或者还有什么我想念的吗?

您可以在旧门户中管理 WebJobs 使用的 Scheduler JobCollection 的规模。导航至 Scheduler/JobCollections 并 增加 Scheduler JobCollection 的规模 以增加作业限制。此 blog post 展示了在门户中的何处可以找到这些东西,还详细说明了 WebJobs + Azure Scheduler 如何在幕后工作。

但是,我们强烈建议使用 this blog post 中详述的新 内置 调度机制。这种机制与您的工作保持一致,不涉及外部依赖。