我们有一个从 WebApi 项目运行的 Dotnet BackgroundService(Microsoft.Extensions.Hosting)。在 ExecuteAsync 方法中运行了一个 Kafka 消费者(对 Kafka 世界来说是相当新的)。我们希望我们的 Kafka 消费者根据时间表停止/开始消费(在非工作日停止,仅在工作日上午 8 点至下午 6 点之间运行等)。据我们所知,有几种方法可以完成这项工作。
- 根据计划运行后台服务。我们做了一些基础研究,但仍然不确定如何实现它。
StartAsync
并且StopAsync
似乎与应用程序生命周期事件有关,并且不喜欢我们将能够用于我们的目的的东西。 - 使用
consumer.pause()
并resume()
根据时间表工作。我们如何通过 Dotnet 以编程方式实现这一点。我们无法在 CosumerBuilder 类上找到任何特定的事件处理程序(自定义计划事件)。任何关于什么是最佳选择以及如何实现它的方向的任何建议/建议将不胜感激。