我已经有一个在.NET Core 2.1中创建的WebJob,它也使用CLASSES
。此特定的WebJob连续运行,而我尝试创建的新WebJob将按设置的时间间隔运行。
在下面的代码中,我告诉WebJob连续运行,并且需要删除这些行,但是我想确保自己做对了。我在要删除的行上加上//删除。有人可以验证我做对了吗?
同样,我们的想法是创建一个将以设定的间隔运行的WebJob,因此我需要删除指示连续运行的WebJob的行。
EVENTS
答案 0 :(得分:0)
我将// REMOVE放在需要删除的行上。有人可以验证我做对了吗?
AFAIK,您要删除的代码行无法告诉webjob按设置的时间间隔运行。
config.Queues.MaxPollingInterval = TimeSpan.FromSeconds(1);
MaxPollingInterval是WebJob将检查队列的最长时间。如果队列为空,则WebJob将不那么频繁地开始检查,最长不超过10分钟。
config.Queues.BatchSize = 2; //the amount of items your WebJob will process at the same time
有关更多详细信息,您可以参考有关webjob JobHostConfiguration的这篇文章。
使用Azure WebJobs SDK时,可以使用TimerTrigger
声明 run on a schedule 的作业功能。
public static void StartupJob(
[TimerTrigger("0 0 */2 * * *", RunOnStartup = true)] TimerInfo timerInfo)
{
Console.WriteLine("Timer job fired!");
}
您可以通过安装Microsoft.Azure.WebJobs.Extensions nuget软件包来获得TimerTrigger
和其他扩展名。
使用TimerTrigger时,请确保在启动代码中添加对config.UseTimers()
的调用以注册扩展名。
config.UseTimers(); //allows us to use a timer trigger in our functions.
在使用Azure WebJobs SDK时,您可以在启用 AlwaysOn 的情况下将代码部署到Continuous WebJob。然后,您可以在该WebJob中添加许多所需的预定功能。