我使用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/