如何更新 Azure 中的 webjob 计划

HOWTO update schedule of webjob in Azure

我已将一些网络作业添加到应用程序作业中。 webjobs 与新版本的 webapp 一起从 VS 中删除。

为了安排作业,我添加了一个 settings.job 文件到 webjob 根文件夹。

如果我在 Azure 中查看,web 作业已正确安排。

但是如何从 Azure 更改该计划?现在更改该计划的唯一方法似乎是更改 settings.job 文件并从 VS 重新部署。

更新:

考虑到 KUDU 并不总是有效,并且更改时间表的过程并不适合非技术用户。我开始考虑使用 azure scheduler。但是找不到如何让它工作。

我从 webapp|webjob 配置中获取了 webhookurl、usr、pwd。 使用此 webhookurl 和凭据(基本身份验证)创建了新计划

但是我得到这个错误:

没有为“/api/triggeredwebjobs/<webjobname>/run”注册路由

有什么建议吗?

您还可以在 https://yoursite.scm.azurewebsites.net 访问 Kudu(高级工具),并直接通过控制台修改 settings.job 文件。

尽管如此,我还是建议您重新部署,以便您的版本控制中始终有正确的计划。否则你可能会发布然后意识到你又拥有旧的时间表。

how to change settings.job schedule.

  • 您可以将 settings.job 文件放在 WebJob 目录的根目录下并修改它,然后重新部署您的 WebJob 项目。

  • 您可以利用 kudu,导航至 D:\home\site\wwwroot\app_data\jobs\triggered\<job-name>,然后修改 settings.job

此外,您可以使用 WebJobs API 作为触发作业的 creating/updating 计划,它会自动为您 create/update settings.job 文件。

PUT https://{webdeploy-username}:{password}@{your-webapp-name}.scm.azurewebsites.net/api/triggeredwebjobs/{webjob-name}/settings

Body: {"schedule": "*/30 * * * * *"}

我在kudu上查看了我的WebJob日志,修改后的时间表需要一些时间才能生效。

I started looking at using azure scheduler. But cannot find out how to get it working.

No route registered for '/api/triggeredwebjobs//run'

对于 Azure Scheduler, you could refer to David Ebbo's blog here。根据你的错误,我假设你的Http方法是错误的,你应该使用POST。这是我的测试,你可以参考一下:

对于那些遇到同样问题的人:

最好的解决方案是使用 Azure 的调度程序作业集合。 棘手的部分是找出如何设置它。

动作设置: - https - 复制您在 webjob 的属性页面中找到的 uri 以调用,它被称为 'webhook' - 从同一个地方复制凭据