WebJob QueueTrigger如何触发,轮询或事件?

时间:2015-01-07 12:01:42

标签: .net azure azure-storage-queues

public static void ProcessMessage([QueueTrigger("queue")] string message, TextWriter log)
{
    //processing message
}

如何触发此方法。

WebJob主机是否只是对存储队列进行轮询。 或存储队列引发新的消息事件,该主机订阅?

1 个答案:

答案 0 :(得分:31)

此链接有您的答案;

http://azure.microsoft.com/en-us/documentation/articles/websites-dotnet-webjobs-sdk-storage-queues-how-to/

  

轮询算法

     

SDK实现了随机指数退避算法以减少   空闲队列轮询对存储事务成本的影响。当一个   找到消息后,SDK等待两秒钟然后检查   另一条消息;当没有找到消息时,它等待大约四秒钟   再试一次之前。在后续尝试获取队列失败之后   消息,等待时间继续增加,直到达到   最长等待时间,默认为一分钟。最长等待时间   是可配置的。

这也有帮助;

JobHostConfiguration config = new JobHostConfiguration();       
config.Queues.MaxPollingInterval = TimeSpan.FromMinutes(1);        
JobHost host = new JobHost(config);
host.RunAndBlock();