我的 azure webjobs(控制台应用)中的函数正在正确执行其工作并从队列中获取消息,但我需要一种方法来控制"时间可见"选项或能够在消息被拾取后从队列中删除消息。
功能:
public class Functions
{
public static void MultipleOutput([QueueTrigger("messages")] MessageQueueItem message, TextWriter log)
{
Console.WriteLine("Item Found [{0}]! Process starting", message.VideoId);
ResolverAgent agent = new ResolverAgent(message);
agent.Process();
}
}
我知道当您以编程方式访问队列时,它是您传入的参数。但是我不是以这种方式访问它。在 Web 作业应用程序中使用 azure SDK 执行此操作的正确方法是什么?
编辑:
可见性选项是从作业从队列中选取消息到消息重新出现在队列中的时间(因为该过程尚未完成并假定它失败)。就我而言,默认的 30 秒不足以让进程一直运行
。参考(部分:如何:利用其他选项取消排队消息):http://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-queues/
如果您的函数仍在处理消息,Web 作业 SDK 将更新租约,以便另一个函数不会选取它。