Documentation ¶
Index ¶
Constants ¶
View Source
const ( // NoSleep can be set to SubscriberConfig.NackResendSleep NoSleep time.Duration = -1 DefaultBlockTime time.Duration = time.Millisecond * 100 DefaultClaimInterval time.Duration = time.Second * 5 // Default max idle time for pending message. // After timeout, the message will be claimed and its idle consumer will be removed from consumer group DefaultMaxIdleTime time.Duration = time.Second * 60 )
View Source
const UUIDHeaderKey = "_watermill_message_uuid"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DefaultMarshallerUnmarshaller ¶
type DefaultMarshallerUnmarshaller struct{}
type Marshaller ¶
type MarshallerUnmarshaller ¶
type MarshallerUnmarshaller interface { Marshaller Unmarshaller }
type Publisher ¶
type Publisher struct {
// contains filtered or unexported fields
}
func NewPublisher ¶
func NewPublisher(config PublisherConfig, logger watermill.LoggerAdapter) (*Publisher, error)
NewPublisher creates a new redis stream Publisher.
type PublisherConfig ¶
type PublisherConfig struct { Client redis.UniversalClient Marshaller Marshaller Maxlens map[string]int64 }
func (*PublisherConfig) Validate ¶
func (c *PublisherConfig) Validate() error
type Subscriber ¶
type Subscriber struct {
// contains filtered or unexported fields
}
func NewSubscriber ¶
func NewSubscriber(config SubscriberConfig, logger watermill.LoggerAdapter) (*Subscriber, error)
NewSubscriber creates a new redis stream Subscriber
func (*Subscriber) Close ¶
func (s *Subscriber) Close() error
type SubscriberConfig ¶
type SubscriberConfig struct { Client redis.UniversalClient Unmarshaller Unmarshaller // Redis stream consumer id, paired with ConsumerGroup Consumer string // When empty, fan-out mode will be used ConsumerGroup string // How long after Nack message should be redelivered NackResendSleep time.Duration // Block to wait next redis stream message BlockTime time.Duration // Claim idle pending message interval ClaimInterval time.Duration // How long should we treat a consumer as offline MaxIdleTime time.Duration }
func (*SubscriberConfig) Validate ¶
func (sc *SubscriberConfig) Validate() error
Click to show internal directories.
Click to hide internal directories.