杰夫,
正如 David 建议的那样,您可以/应该迁移到新的 CRON 支持。这是一个例子。WebJob 将被部署为一个连续的 WebJob。
请记住,为了使用它,您需要安装 WebJobs 包和当前预发布的扩展。您可以在 Nuget 上获得它们。
安装包 Microsoft.Azure.WebJobs -Pre 安装包 Microsoft.Azure.WebJobs.Extensions -Pre
此外,正如 David 建议的那样,如果您不使用 WebJobs SDK,您也可以使用settings.job文件运行它。他在这里举了一个例子。
程序.cs
static void Main()
{
//Set up DI (In case you're using an IOC container)
var module = new CustomModule();
var kernel = new StandardKernel(module);
//Configure JobHost
var storageConnectionString = "your_connection_string";
var config = new JobHostConfiguration(storageConnectionString) { JobActivator = new JobActivator(kernel) };
config.UseTimers(); //Use this to use the CRON expression.
//Pass configuration to JobJost
var host = new JobHost(config);
// The following code ensures that the WebJob will be running continuously
host.RunAndBlock();
}
函数.cs
public class Functions
{
public void YourMethodName([TimerTrigger("00:05:00")] TimerInfo timerInfo, TextWriter log)
{
//This Job runs every 5 minutes.
//Do work here.
}
}
您可以在TimerTrigger属性中更改计划。
更新添加了 webjob-publish-settings.json 文件
这是 webjob-publiss-settings.json 的示例
{
"$schema": "http://schemastore.org/schemas/json/webjob-publish-settings.json",
"webJobName": "YourWebJobName",
"startTime": null,
"endTime": null,
"jobRecurrenceFrequency": null,
"interval": null,
"runMode": "Continuous"
}