【问题标题】:How to set consumer priority using MassTransit and RabbitMQ如何使用 MassTransit 和 RabbitMQ 设置消费者优先级
【发布时间】:2018-06-29 03:17:20
【问题描述】:

MassTransit 公开了用于添加队列和交换参数的函数,但我找不到任何类似的东西供消费者使用。

我希望能够根据此处的 RabbitMQ 文档设置消费者的优先级(x-priority 参数):https://www.rabbitmq.com/consumer-priority.html

使用 MassTransit 可以做到吗?

【问题讨论】:

  • 我刚推这个开发,应该在下一个版本。

标签: rabbitmq masstransit


【解决方案1】:

将它添加到 MT 应该很容易,我将在 GitHub 上创建一个问题。

【讨论】:

  • 这个是同时加入MT的吗?
【解决方案2】:

根据 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>();
    });
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-29
    • 2020-04-20
    • 2013-12-19
    • 2012-05-31
    • 1970-01-01
    • 2015-09-04
    相关资源
    最近更新 更多