distributed-computing/tasks/nikiforova-ts/Lab_4/DApp/Consumer#2/Program.cs
2023-12-18 17:52:08 +04:00

31 lines
1.2 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System.Text;
using RabbitMQ.Client;
using RabbitMQ.Client.Events;
var фабрика = new ConnectionFactory { HostName = "localhost" };
using var подключение = фабрика.CreateConnection();
using var канал = подключение.CreateModel();
канал.QueueDeclare(queue: "принятые");
канал.QueueBind(queue: "принятые",
exchange: "job",
routingKey: string.Empty);
Console.WriteLine(" [*] Ожидание сообщений.");
var потребительПринятых = new EventingBasicConsumer(канал);
потребительПринятых.Received += async (model, ea) =>
{
byte[] тело = ea.Body.ToArray();
var сообщение = Encoding.UTF8.GetString(тело);
string вывод = $"Заявка принята {сообщение} на исполнение";
Console.WriteLine($" [x] Готово. {вывод}");
канал.BasicAck(deliveryTag: ea.DeliveryTag, multiple: false);
};
канал.BasicConsume(queue: "принятые",
autoAck: false,
consumer: потребительПринятых);
Console.WriteLine(" Нажмите [Enter] для выхода.");
Console.ReadLine();