// createConsumer creates a new amqp consumer func (l *Consumer) createConsumer(rmq *rabbitmq.RabbitMQ) (*rabbitmq.Consumer, error) { exchange := rabbitmq.Exchange{ Name: l.SourceExchangeName, Type: "fanout", Durable: true, } queue := rabbitmq.Queue{ Name: fmt.Sprintf("%s:WorkerQueue", l.WorkerName), Durable: true, } binding := rabbitmq.BindingOptions{ RoutingKey: "", } consumerOptions := rabbitmq.ConsumerOptions{ Tag: fmt.Sprintf("%sWorkerConsumer", l.WorkerName), } consumer, err := rmq.NewConsumer(exchange, queue, binding, consumerOptions) if err != nil { return nil, err } return consumer, nil }