public static void ProcessMessage([QueueTrigger("queue")] string message, TextWriter log)
{
//processing message
}
这个方法将如何被触发。
WebJob 主机是否只是对存储队列进行轮询。还是存储队列引发新消息事件,该主机订阅?
public static void ProcessMessage([QueueTrigger("queue")] string message, TextWriter log)
{
//processing message
}
这个方法将如何被触发。
WebJob 主机是否只是对存储队列进行轮询。还是存储队列引发新消息事件,该主机订阅?
这个链接有你的答案;
轮询算法
SDK 实现了随机指数退避算法,以减少空闲队列轮询对存储交易成本的影响。当找到一条消息时,SDK 会等待两秒钟,然后再检查另一条消息;当没有找到消息时,它会等待大约四秒钟,然后再试一次。在后续尝试获取队列消息失败后,等待时间继续增加,直到达到最大等待时间,默认为一分钟。最长等待时间是可配置的。
这也有帮助;
JobHostConfiguration config = new JobHostConfiguration();
config.Queues.MaxPollingInterval = TimeSpan.FromMinutes(1);
JobHost host = new JobHost(config);
host.RunAndBlock();