Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ConfluentKafkaConsumer ¶
type ConfluentKafkaConsumer interface { Assign(partitions []ck.TopicPartition) (err error) Assignment() (partitions []ck.TopicPartition, err error) Unassign() (err error) SubscribeTopics(topics []string, rb ck.RebalanceCb) (err error) Poll(ms int) ck.Event Commit() (partitions []ck.TopicPartition, err error) Close() (err error) }
type ConfluentKafkaConsumerProperty ¶
type ConfluentKafkaConsumerProperty struct { Logger *logrus.Logger Topic string EventHandler EventHandler Consumer ConfluentKafkaConsumer }
type ConfluentKafkaProducer ¶
type DLQHandler ¶
type DLQHandler interface {
Send(ctx context.Context, dlqMessage *DeadLetterQueueMessage) (err error)
}
DLQHandler is an handler to handler dead letter queue or an unprocessed message
type DLQHandlerAdapter ¶
type DLQHandlerAdapter struct {
// contains filtered or unexported fields
}
DLQHandlerAdapter is an dead letter queue adapter.
func NewDLQHandlerAdapter ¶
func NewDLQHandlerAdapter(topic string, publisher Publisher) *DLQHandlerAdapter
NewDLQHandlerAdapter is a constructor.
func (*DLQHandlerAdapter) Send ¶
func (dlqHandlerAdapter *DLQHandlerAdapter) Send(ctx context.Context, dlqMessage *DeadLetterQueueMessage) (err error)
Send will publish the dlq message to the assigned topic.
type DeadLetterQueueMessage ¶
type DeadLetterQueueMessage struct { Channel string `json:"channel"` Publisher string `json:"publisher"` Consumer string `json:"consumer"` Key string `json:"key"` Headers MessageHeaders `json:"headers"` Message string `json:"message"` CausedBy string `json:"caused_by"` FailedConsumeDate string `json:"failed_consume_date"` }
DeadLetterQueueMessage is an entity.
type DefaultEventHandler ¶
type EventHandler ¶
EventHandler is an event handler. It will be called after message is arrived to consumer
type MessageHeaders ¶
MessageHeaders is type of message headers
func (MessageHeaders) Add ¶
func (mh MessageHeaders) Add(key, value string)
Add will add the key and value to headers.
type Publisher ¶
type Publisher interface { // Will send the message to the assigned topic. Publish(ctx context.Context, topic string, key string, headers MessageHeaders, message []byte) (err error) Close() (err error) }
Publisher is a collection of behavior of a publisher
func PublisherFromConfluentKafkaProducer ¶
func PublisherFromConfluentKafkaProducer(logger *logrus.Logger, producer ConfluentKafkaProducer) Publisher
type Subscriber ¶
type Subscriber interface { Subscribe() Close() (err error) }
Subscriber is a collection of behavior of a subscriber
func SubscriberFromConfluentKafkaConsumer ¶
func SubscriberFromConfluentKafkaConsumer(props ConfluentKafkaConsumerProperty) Subscriber
Click to show internal directories.
Click to hide internal directories.