当前位置:  开发笔记 > 编程语言 > 正文

预定的WebJob

如何解决《预定的WebJob》经验,为你挑选了2个好方法。

我正在创建一个新的Azure WebJob项目 - 它似乎是一个可以作为Web作业运行的控制台应用程序的精美版本.

我希望这个工作能够根据时间表运行,但是在Main()方法中 - 见下文 - 微软为您host.RunAndBlock()提供了连续运行的工作.

如果我希望工作定期运行,我是否需要更改?

static void Main()
{
    var host = new JobHost();

    // The following code ensures that the WebJob will be running continuously
    host.RunAndBlock();
}

mathewc.. 28

使用Azure WebJobs SDK时,您可以使用它TimerTrigger来声明按计划运行的作业功能.例如,这是一个在启动时立即运行的函数,然后每两个小时运行一次:

public static void StartupJob(
[TimerTrigger("0 0 */2 * * *", RunOnStartup = true)] TimerInfo timerInfo)
{
    Console.WriteLine("Timer job fired!");
}

您可以TimerTrigger通过安装Microsoft.Azure.WebJobs.Extensions nuget包获得和其他扩展.有关TimerTrigger该软件包的更多信息以及该软件包中的其他扩展以及如何使用它们,请参阅azure-webjobs-sdk-extensions repo.使用时TimerTrigger,请务必添加config.UseTimers()对启动代码的调用以注册扩展名.

使用Azure WebJobs SDK时,将代码部署到Continuous WebJob,并启用AlwaysOn.然后,您可以在该WebJob中添加所需的许多预定功能.



1> mathewc..:

使用Azure WebJobs SDK时,您可以使用它TimerTrigger来声明按计划运行的作业功能.例如,这是一个在启动时立即运行的函数,然后每两个小时运行一次:

public static void StartupJob(
[TimerTrigger("0 0 */2 * * *", RunOnStartup = true)] TimerInfo timerInfo)
{
    Console.WriteLine("Timer job fired!");
}

您可以TimerTrigger通过安装Microsoft.Azure.WebJobs.Extensions nuget包获得和其他扩展.有关TimerTrigger该软件包的更多信息以及该软件包中的其他扩展以及如何使用它们,请参阅azure-webjobs-sdk-extensions repo.使用时TimerTrigger,请务必添加config.UseTimers()对启动代码的调用以注册扩展名.

使用Azure WebJobs SDK时,将代码部署到Continuous WebJob,并启用AlwaysOn.然后,您可以在该WebJob中添加所需的许多预定功能.



2> 小智..:

在时间表上触发WebJob的一种简单方法是将其编码为常规控制台应用程序,然后只需将带有基于cron的时间表配置的“ settings.job”添加到项目中即可。例如,以下定义将每5分钟触发一次:

{
  "schedule": "0 */5 * * * *"
}

无需使用JobHost,只需确保将WebApp配置为“始终在线”即可。然后,您应该将作业部署为触发的WebJob。

推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有