gpt4 book ai didi

azure - Azure 的 EventProcessorHost 何时调用 IEventProcessor.ProcessEventsAsync?

转载 作者:行者123 更新时间:2023-12-01 03:46:00 24 4
gpt4 key购买 nike

我正在为 Azure EventHub 编写一个工作程序,我希望在 EventProcessorHost 之上进行构建;但是,我在 general 中找不到一些可能相关的详细信息。 documentation或 API 文档。

IEventProcessor 什么时候出现 ProcessEventsAsync由 EventProcessorHost 调用?

This method is called when there are new messages in the Event Hubs stream. Make sure to checkpoint only when you are finished processing all the events in each batch.

虽然我们知道可枚举的消息中会有一些结果,但文档没有说明我们是否可以预期对 ProcessEventsAsync 的并发调用或在第一个调用正在进行时进行第二个调用。给出有关何时检查点的说明,这两种方法都没有多大意义,因为第二个调用可以完成,并且在流中比第一个未完成时处理的情况更进一步检查点,但文档中的确认会很棒。

我假设每次调用 CreateEventProcessor 的输出(或 IEventProcessor,如果它们是唯一的)由 EventProcessorHost 用于一个分区,并且 PartitionContext

类似的是是否调用CheckpointAsyncProcessEventsAsync 有任何影响被召唤。虽然它不应该允许稍后检查点,但我认为这是一个理性的选择。我还有一些关于检查点机制的其他问题,我将在另一个问题中解决这些问题(链接位于此处)。

CloseAsync 之后是否还会进行任何 ProcessEventsAsync 调用已调用电话(我假设没有,但没有找到)?是否会使用从 ProcessEventsAsync 返回的未完成任务来完成?

简而言之,对我来说有意义的答案是,对于给定处理器,在先前调用的任务完成之前不会调用 ProcessEventsAsync,但我无法从文档中确认这一点。

最佳答案

虽然以下信息未经验证,但从逻辑上讲它应该像这样工作 -

1) 一个分区内不应有任何对 ProcessEventAsync 的并发调用。否则,azure 如何保证一个分区内消息的排序。2)我们可能必须异步处理每条消息。否则系统无法同时处理超过32条消息。 (假设有32个分区)。

关于azure - Azure 的 EventProcessorHost 何时调用 IEventProcessor.ProcessEventsAsync?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26941132/

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