【发布时间】:2021-07-09 16:24:11
【问题描述】:
我有一个包含 100 条消息的队列。在某个时候,我想发送一条消息,但这条消息具有更高的优先级,应该在现有的 100 条消息之前首先处理。
有没有办法做到这一点?
谢谢,
尝试设置但没有更多消息到达: 在发件人上(Web API)
var bus = Bus.Factory.CreateUsingRabbitMq(sbc =>
sbc.Host("hostName", "host", h =>
{
h.Username("username");
h.Password("password);
})
);
Send the message
Uri uri = new Uri("queue:myQueue");
var endpoint = await bus.GetSendEndpoint(uri);
await endpoint.Send(request);
在消费者(控制台应用程序)上:
static void Main(string[] args)
{
var busControl = Bus.Factory.CreateUsingRabbitMq(cfg =>
{
cfg.Host("localhost", "/", h =>
{
h.Username("guest");
h.Password("guest");
});
cfg.ReceiveEndpoint("myQueue", e =>
{
e.Handler<myType>(context =>
{
return Console.Out.WriteLineAsync($"{context.Message.Id}");
});
});
});
busControl.Start();
Console.WriteLine("Receive listening for messages");
Console.ReadLine();
busControl.Stop();
}
【问题讨论】:
标签: rabbitmq masstransit