【问题标题】:How to get an Azure Webjob to process multiple queue messages?如何让 Azure Webjob 处理多个队列消息?
【发布时间】:2016-01-25 19:55:00
【问题描述】:

在 Azure 辅助角色中,您可以创建处理消息列表的批处理作业。我想知道 Azure WebJobs 是否有类似的东西?

目前您可以从队列中触发 webjob,如下所示:

public static void ProcessQueueMessage([QueueTrigger("queue")] string message, TextWriter log)

有没有办法提取和处理消息列表?

【问题讨论】:

标签: azure queue messages azure-webjobssdk batching


【解决方案1】:

不,目前没有针对一批 Queue 消息的内置绑定。

但是,社区中的某个人最近使用 WebJobs SDK 可扩展性模型创建了这样的绑定。我还没有使用该绑定,但您可以尝试一下并向作者提供反馈。请参阅 GroupQueueTrigger repo 和更多信息。它允许您绑定到List<T> 的消息。

【讨论】:

  • 似乎可行,但不是完美的解决方案。该 repo 中的 GroupQueueTrigger 实现似乎使用了随机退避,而不是标准的指数退避,仅支持 32 的最大批量大小(单个存储调用),并且仅返回成功 true/false,因此没有判断批次中的所有内容是否都失败或只有一件事失败的方法。我会尝试修改它以满足我的需要。再次感谢马修!
  • 关于最大批量大小 - 每次调用不能超过 32 条消息。这是存储服务限制。其他项目有进展吗?
猜你喜欢
  • 2015-06-18
  • 2016-04-24
  • 1970-01-01
  • 2016-12-09
  • 2017-09-14
  • 2023-02-10
  • 2017-07-10
  • 2017-11-01
相关资源
最近更新 更多