rabbitmq

package module
v0.0.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 7, 2020 License: BSD-2-Clause Imports: 6 Imported by: 0

README

rabbitmq-client

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FailOnError added in v0.0.2

func FailOnError(err error, msg string)

FailOnError failed if any error

func StartConsumer added in v0.0.2

func StartConsumer(msg *MqDestination, receiver OnReceive, connSetting *Settings)

StartConsumer start process.

func WrapRepo added in v0.0.2

func WrapRepo(msg amqp.Delivery, body []byte, headers amqp.Table) *amqp.Publishing

WrapRepo wrap up for repo to rabbitmq

Types

type MqDestination

type MqDestination struct {
	Queue        string
	Topic        string
	ExchangeType string
	AutoAck      bool
	Exclusive    bool
	Prefetch     int
	DeclareAll   bool
}

MqDestination Rabbitmq destination

func (*MqDestination) Consume

func (mq *MqDestination) Consume(conn *rabbitmq.Connection, consumerTag string) (<-chan amqp.Delivery, *rabbitmq.Channel, error)

Consume start consumer

func (*MqDestination) DeclareDestination

func (mq *MqDestination) DeclareDestination(cnn *rabbitmq.Connection, createTempQueue bool) error

DeclareDestination declare Topic, queues....

func (*MqDestination) Produce

func (mq *MqDestination) Produce(channel *rabbitmq.Channel, message amqp.Publishing) error

Produce publish message

func (*MqDestination) RPC added in v0.0.4

func (mq *MqDestination) RPC(ctx context.Context, conn *rabbitmq.Connection, message amqp.Publishing) (*amqp.Delivery, error)

RPC RPC over rabbitmq message. timeout setting should be ctx

type OnReceive added in v0.0.2

type OnReceive interface {
	OnReceiveMessage(msg amqp.Delivery) (string, *amqp.Publishing, error)
}

OnReceive interface for Receiver

type Settings

type Settings struct {
	Host     string
	Port     uint
	User     string
	Password string
	Vhost    string
	Prop     amqp.Table
}

Settings Settings, should include url & options

func (*Settings) ConnURL

func (r *Settings) ConnURL() string

ConnURL return connection URL for Dial

func (*Settings) Connect

func (r *Settings) Connect() (*rabbitmq.Connection, error)

Connect make connection to Rabbitmq

func (*Settings) String

func (r *Settings) String() string

String for log connection URL.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL