我使用Visual Studio以建议的方式部署了WebJob,右键单击控制台项目,选择“发布为Azure Webjob”并进行设置。
我选择了一个计划计划,该计划导致在属性文件夹中创建具有以下内容的文件“webjob-publish-settings.json”:

{
  "$schema": "http://schemastore.org/schemas/json/webjob-publish-settings.json",
  "webJobName": "TestCredentials2",
  "startTime": "2016-04-05T01:00:00+01:00",
  "endTime": "2016-04-12T00:00:00+01:00",
  "jobRecurrenceFrequency": "Minute",
  "interval": 3,
  "runMode": "Scheduled"
}

在部署工作期间,Web作业处于“按需”状态。当我从Azure门户内部手动启动Webjob时,会先运行,然后运行,但不会自动重启。

我还尝试在项目的根目录中添加一个“settings.job”(设置为“如果较新则复制”):
{ "schedule": "0 /5 * * * *"}

行为仍然没有区别,但是也没有错误消息。

最佳答案

它确实使用settings.job方法工作。必须做以下事情:

1. Create a settings.job with the content in the question
2. select Build Action "Content" for that file
3. Select "Copy if newer"
4. Delete the generated "Properties/webjob-publish-actions.json"
5. Re-Publish the Project, chose "On Demand" instead of a schedule plan

这将创建一个新的webjob-publish-actions.json:
{
      "$schema": "http://schemastore.org/schemas/json/webjob-publish-settings.json",
      "webJobName": "MyTimer",
      "startTime": null,
      "endTime": null,
      "jobRecurrenceFrequency": null,
      "interval": null,
      "runMode": "OnDemand"
    }

完毕。

关于Azure忽略了WebJob的计划设置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36430247/

10-12 03:30