producer_manager

package
v0.0.0-...-c228acb Latest Latest
Warning

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

Go to latest
Published: Oct 9, 2023 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	//ErrMessageSendConfirmFailed confirm message send failed, producer_manager's connection is automatically refreshed
	ErrMessageSendConfirmFailed = errors.New("cannot get confirm, refreshed producer_manager")
	//ErrMessageNotAcked message is not acked by rabbitmq
	ErrMessageNotAcked = errors.New("RMQ did not ack the message")
)

Functions

func IsConnectionClosedError

func IsConnectionClosedError(err error) bool

Types

type Producer

type Producer interface {
	Use(middleware ...PublishFuncMiddleware)
	Publish(ctx context.Context, message *eventbusclient.Message) error
	PublishRaw(ctx context.Context, message *eventbusclient.Message) error
	Close() error
}

Producer set middlewares and Publish message to eventbus

func NewProducer

func NewProducer() (Producer, error)

NewProducer create new producer_manager, autoload config data from system environment

func NewProducerWithConfig

func NewProducerWithConfig(config *eventbusclient.Config) (Producer, error)

type ProducerMock

type ProducerMock struct {
	UseFn        func(middleware ...PublishFuncMiddleware)
	PublishFn    func(ctx context.Context, message *eventbusclient.Message) error
	PublishRawFn func(ctx context.Context, message *eventbusclient.Message) error
	CloseFn      func() error
}

ProducerMock producer_manager mock

func (ProducerMock) Close

func (m ProducerMock) Close() error

func (ProducerMock) Publish

func (m ProducerMock) Publish(ctx context.Context, message *eventbusclient.Message) error

Publish method mock

func (ProducerMock) PublishRaw

func (m ProducerMock) PublishRaw(ctx context.Context, message *eventbusclient.Message) error

func (ProducerMock) Use

func (m ProducerMock) Use(middleware ...PublishFuncMiddleware)

Use method mock

type PublishFunc

type PublishFunc func(ctx context.Context, message *eventbusclient.Message) error

PublishFunc publish message

func PublishMessageLogMiddleware

func PublishMessageLogMiddleware(next PublishFunc) PublishFunc

type PublishFuncMiddleware

type PublishFuncMiddleware func(next PublishFunc) PublishFunc

PublishFuncMiddleware middleware

func AttachTraceId

func AttachTraceId() PublishFuncMiddleware

Jump to

Keyboard shortcuts

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