cac*_*sar 5 azure azure-sdk-.net azure-eventhub
我正在为 Azure EventHub 编写一个工作程序,我希望在EventProcessorHost之上构建;但是,我在一般 文档或 API 文档中找不到一些可能相关的详细信息。
EventProcessorHost何时调用 IEventProcessor ProcessEventsAsync ?
当事件中心流中有新消息时调用此方法。确保仅在处理完每批中的所有事件后才进行检查点。
虽然我们知道可枚举的消息中会有一些结果,但文档没有说明我们是否可以预期对 ProcessEventsAsync 的并发调用或在第一个调用正在进行时进行第二个调用。给出有关何时检查点的说明,这两种方法都没有多大意义,因为第二个调用可以完成,并且在流中比第一个未完成时处理的情况更进一步进行检查点,但文档中的确认会很好。
我假设 EventProcessorHost 将每次调用CreateEventProcessor(或 IEventProcessor,如果它们是唯一的)的输出用于一个分区,并且PartitionContext
同样,对CheckpointAsync 的调用是否会对调用ProcessEventsAsync产生任何影响。虽然它不应该允许稍后检查点,但我认为这是一个理性的选择。我还有一些关于检查点机制的其他问题,我将在另一个问题中解决这些问题(链接将在此处)。
在进行CloseAsync调用后是否还会进行 ProcessEventsAsync 调用(我假设不会,但没有找到)?是否会使用从 ProcessEventsAsync 返回的未完成的任务来完成?
简而言之,对我来说有意义的答案是,对于给定的处理器,在先前调用的任务完成之前不会调用 ProcessEventsAsync,但我无法从文档中确认这一点。
虽然以下信息未经验证,但从逻辑上讲它应该像这样工作 -
| 归档时间: |
|
| 查看次数: |
1668 次 |
| 最近记录: |