MassTransit公开了用于添加队列和交换参数的函数,但我找不到与消费者类似的东西。
我希望能够根据以下RabbitMQ文档设置使用者的优先级(x-priority参数):https://www.rabbitmq.com/consumer-priority.html
使用MassTransit可以吗?
答案 0 :(得分:2)
将其添加到MT应该很容易,我将在GitHub上创建一个问题。
答案 1 :(得分:0)
根据RabbitMQ文档:
将basic.consume方法中的x-priority参数设置为整数 值。 未指定值的消费者的优先级为0 。 数字越大表示优先级越高,并且正数和负数 可以使用负数。
设置消费者时,可以在这种情况下使用ConsumerPriority设置较低的优先级
_busControl = Bus.Factory.CreateUsingRabbitMq(cfg =>
{
IRabbitMqHost host = cfg.Host(new Uri(ConfigurationManager.AppSettings["RabbitMQHost"]), h =>
{
h.Username(ConfigurationManager.AppSettings["RabbitMQUsername"]);
h.Password(ConfigurationManager.AppSettings["RabbitMQPassword"]);
});
cfg.ReceiveEndpoint(host, "Audit", e =>
{
e.PrefetchCount = 2;
e.ConsumerPriority = -1;
e.Consumer<AuditConsumer>();
});
});