想要在Azure Web作业

时间:2017-09-13 13:17:26

标签: azure azure-webjobs timer-trigger

我通过网站托管了我的网络工作(选项添加现有项目为 Azure Webjob )。我想在不同的时间间隔触发不同的方法。

代码:

static void Main()
{
    var config = new JobHostConfiguration();
    config.UseTimers();   
    var host = new JobHost();
    host.RunAndBlock();
}

    public static void TimerTrig1([TimerTrigger("00:00:02")] TimerInfo timer)
    {
        Console.WriteLine("Triggered");
    }  

    public static void TimerTrig2([TimerTrigger("00:00:04")] TimerInfo timer)
    {
        Console.WriteLine("Triggered");
    }  

和webjob-publish-settings.json是:

        {
         "$schema": "http://schemastore.org/schemas/json/webjob-publish-settings.json",
         "webJobName": "KentDataImporterWebJob",
         "runMode": "Continuous"
        }

我需要一个解决方案,以便我可以在2秒或4秒内触发这些功能。

因此,当我的Azure web作业托管在不同的网站上时,我想在Azure Web Job中的不同时间间隔触发不同的方法。

1 个答案:

答案 0 :(得分:0)

您的代码看起来很好。几点需要注意:

确保在Program类的Main方法中调用config.UseTimers()方法。如果不这样做,您的TimerTriggers将不会触发。此外,请确保您的WebJob是连续的。

public static void Main()
{
    var config = new JobHostConfiguration();
    config.UseTimers();
    var host = new JobHost(config);
    host.RunAndBlock();
}