从dotnet核心消费Kafka Topic将进入死循环

ymdaylpp  于 2023-10-15  发布在  Apache
关注(0)|答案(1)|浏览(96)

从dotnet核心消费Kafka Topic将进入无限循环。

consumer.Subscribe("my topic name");
 while (true){ var kfReslt = consumer.Consume() }
pftdvrlh

pftdvrlh1#

你应该使用CancellationToken来停止消费。
下面是一个在后台线程上使用Kafka主题的控制台应用的示例:

using CancellationTokenSource cancellationTokenSource = new CancellationTokenSource();

Task task = Task.Run(() =>
{
    consumer.Subscribe("my topic name");
    while (!cancellationToken.IsCancellationRequested)
    {
        var kfReslt = consumer.Consume();
        //...
    }
});

Console.WriteLine("Press any key to stop consuming...");
Console.ReadKey();
cancellationTokenSource.Cancel();

相关问题