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