Как настроить брокер.SubscriberOptions в go-micro

Я пытаюсь настроить брокера RabbitMQ, используя go-micro фреймворк. Я заметил, что интерфейс брокера в Go-Micro имеет broker.SubscriberOptions структура, которая позволяет настроить параметры, которые я ищу (AutoAck, имя очереди и т. д.), однако я не могу понять, как передать это при запуске брокера.

Вот так бы выглядела простая настройка микро-кролика

package main

import (
    "log"

    "github.com/micro/go-micro/server"
    "github.com/micro/go-plugins/broker/rabbitmq"

    micro "github.com/micro/go-micro"
)


func main() {
    // Create a new service. Optionally include some options here.
    service := micro.NewService(
        micro.Name("go-micro-rabbit"),
        micro.Broker(rabbitmq.NewBroker()),
    )

    // Init will parse the command line flags.
    service.Init()

    // Register handler
    proto.RegisterGreeterHandler(service.Server(), new(Greeter))

    micro.RegisterSubscriber("micro-exchange", service.Server(), myFunc, server.SubscriberQueue("my-queue"))

    // Run the server
    if err := service.Run(); err != nil {
        log.Fatal(err)
    }
}

micro.RegisterSubscriber метод принимает в списке server.SubscriberOption но не позволяет мне установить broker.SubscriberOptions и rabbitmq.NewBroker позволяет настроить broker.Options но еще раз, не broker.SubscriberOptions

Я выкопал код go-micro, но не смог понять, как broker.Subscribe метод (который выставляет правильную структуру) вызывается или кем.

Это вообще возможно? Может быть, это что-то еще не полностью реализовано в API?

0 ответов

Другие вопросы по тегам