azure - 预定的网络作业

标签 azure azure-webjobs azure-webjobssdk

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

我希望此作业根据计划运行,但在 Main() 方法中 - 见下文 - Microsoft 为您提供了 host.RunAndBlock()作业连续运行。

如果我希望作业定期运行,我需要更改它吗?

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

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

最佳答案

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

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

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

使用 Azure WebJobs SDK 时,您可以将代码部署到连续 WebJob,并启用AlwaysOn。然后,您可以在该 WebJob 中添加所需的任意数量的计划功能。

关于azure - 预定的网络作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34030441/

相关文章:

Azure Web 作业有时无法连接到存储帐户

azure - 是否可以在 Azure 存储 blob 或容器上设置持久权限?

azure - 如何使用 PowerShell 获取 Azure 订阅的 TAG 值

ios - 如何将文件(>64M)上传到 Azure Blob 存储[iOS]

asp.net-core - 面向 .NET Standard 的 Azure 函数显示警告

Azure WebJob 多个可执行文件

entity-framework - Azure Web 作业运行一次

azure - 无法调试 Azure webjobs - webjob 进程未显示在 "Attach to process"对话框中

asp.net - 在 Azure 管道发布期间替换 Web.config 中的连接字符串

c# - Azure Webjobs ServiceBusTrigger - 达到 MaxDeliveryCount 时执行不同的功能