Currently, I’m writing a program that receives messages from RabbitMQ streams, and I want to delete the messages after they have been consumed. Is this possible?
var streamSystem = await StreamSystem.Create(new StreamSystemConfig());
await streamSystem.CreateStream(new StreamSpec("csv-stream")
{
MaxLengthBytes = 1_048_576
});
Console.WriteLine("Starting consuming...");
var consumer = await Consumer.Create(new ConsumerConfig(streamSystem, "csv-stream")
{
OffsetSpec = new OffsetTypeFirst(),
MessageHandler = async (stream, _, _, message) =>
{
// Receive and convert message to string
var receivedData = Encoding.UTF8.GetString(message.Data.Contents);
// Convert string to CSV format
await Task.CompletedTask;
}
});
Console.WriteLine(" Press any key to exit");
Console.ReadKey();
await consumer.Close();
await streamSystem.Close();
So, I try to use await consumer.Ack(message);
but it’s didn’t work.