mq

package module
v0.0.0-...-06b859c Latest Latest
Warning

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

Go to latest
Published: Feb 28, 2019 License: MIT Imports: 4 Imported by: 1

README

mq

mq facade for golang

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func OpenDriver

func OpenDriver(driver string, consumerF ConsumerF, producerF ProducerF)

OpenDriver register new driver

Types

type Consumer

type Consumer interface {
	// Recv get recv record chan
	Recv() <-chan Record
	// Errors get errors chan
	Errors() <-chan error
	// Commit commit record offset
	Commit(record Record) error
}

Consumer message queue consumer

func NewConsumer

func NewConsumer(driver string, config config.Config) (Consumer, error)

NewConsumer create new consumer with driver name and config

type ConsumerF

type ConsumerF func(config config.Config) (Consumer, error)

ConsumerF .

type Producer

type Producer interface {
	// Record create new record
	Record(key []byte, value []byte) (Record, error)
	// Send send record
	Send(record Record) error
	// Batch batch send message record
	Batch(records []Record) error
}

Producer message producer interface

func NewProducer

func NewProducer(driver string, config config.Config) (Producer, error)

NewProducer create new producer with driver name and config

type ProducerF

type ProducerF func(config config.Config) (Producer, error)

ProducerF .

type Record

type Record interface {
	Key() []byte
	Value() []byte
}

Record message queue record

type Register

type Register interface {
	Set(driver string, consumerF ConsumerF, producerF ProducerF)
	Get(driver string) (ConsumerF, ProducerF)
}

Register mq driver register

type Retry

type Retry struct {
	Max     int
	Backoff time.Duration
	Handler func(record Record) bool
}

Retry .

func (*Retry) Do

func (retry *Retry) Do(consumer Consumer, record Record) (bool, error)

Do do process a record with retry policy

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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