gpt4 book ai didi

azure - Azure WebJobs 在监视多个队列时如何确定消息的优先级?

转载 作者:行者123 更新时间:2023-12-02 07:12:57 25 4
gpt4 key购买 nike

我正在使用 Azure WebJobs 作为工作项目的一部分。这些被配置为连续运行的作业,监视许多不同的队列。当接收到队列消息时,它们会导致运行各种 API 命令。我遇到的问题是,一些 API 命令运行得很快(即几秒钟),而另一些则运行得很慢(几分钟),而且我不确定如何最好地在 WebJobs 之间分割队列处理程序。

例如,我可以将所有慢速 API 命令处理程序放入一个 WebJob 中,并将所有快速处理程序放入另一个 WebJob 中。我担心的是,“慢”的 WebJob 进程总是很忙,而“快”的 WebJob 进程大部分时间都处于空闲状态。

另一种方法是在同一个 WebJob 项目中混合快速和慢速处理程序。我担心的是,速度较快的处理者会让速度较慢的处理者失去注意力,反之亦然。

第三种方法是为每个单独的消息处理程序提供一个单独的 WebJob,但考虑到我们必须处理的消息类型的数量,我宁愿不走这条路。说实话,这似乎有点矫枉过正。

我想知道是否有人遇到过类似的情况,并且可以深入了解 Azure WebJobs 在监视多个队列时如何选择要处理的消息?许多互联网搜索未能找到这方面的任何指导或帮助。需要明确的是,我并不是真正寻求人们认为哪种方法最好的意见;我正在寻找实际处理过此类问题的人的答案,并且可以在一定程度上肯定地说,考虑到 Azure WebJobs API 当前优先处理队列消息处理的方式,哪种不同方法最适合。

最佳答案

如果您有多个函数监听不同的队列,当同时收到消息时,SDK 会并行调用它们。您无法设置应首先处理哪个队列。

根据您的配置,您将并行处理它们。如果您认为某些执行会导致其他执行停滞,您可以将处理拆分为多个 webjob 并分别扩展它们。

关于azure - Azure WebJobs 在监视多个队列时如何确定消息的优先级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35289007/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com