Documentation
¶
Index ¶
- func NewMessageHandler(logger *logging.Logger, redisClient *redis.Client, logMQ LogPublisher, ...) consumer.MessageHandler
- func NewRetryScheduler(deliverymq *DeliveryMQ, redisConfig *redis.RedisConfig) scheduler.Scheduler
- func WithQueue(queueConfig *mqs.QueueConfig) func(opts *DeliveryMQOption)
- type AlertMonitor
- type DeliveryError
- type DeliveryInfra
- type DeliveryMQ
- type DeliveryMQOption
- type DeliveryTracer
- type DestinationGetter
- type EventGetter
- type LogPublisher
- type PostDeliveryError
- type PreDeliveryError
- type Publisher
- type RetryMessage
- type RetryScheduler
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewMessageHandler ¶
func NewMessageHandler( logger *logging.Logger, redisClient *redis.Client, logMQ LogPublisher, entityStore DestinationGetter, logStore EventGetter, publisher Publisher, eventTracer DeliveryTracer, retryScheduler RetryScheduler, retryBackoff backoff.Backoff, retryMaxLimit int, alertMonitor AlertMonitor, ) consumer.MessageHandler
func NewRetryScheduler ¶
func NewRetryScheduler(deliverymq *DeliveryMQ, redisConfig *redis.RedisConfig) scheduler.Scheduler
func WithQueue ¶
func WithQueue(queueConfig *mqs.QueueConfig) func(opts *DeliveryMQOption)
Types ¶
type AlertMonitor ¶
type AlertMonitor interface {
HandleAttempt(ctx context.Context, attempt alert.DeliveryAttempt) error
}
type DeliveryError ¶
type DeliveryError struct {
// contains filtered or unexported fields
}
func (*DeliveryError) Error ¶
func (e *DeliveryError) Error() string
func (*DeliveryError) Unwrap ¶
func (e *DeliveryError) Unwrap() error
type DeliveryInfra ¶
type DeliveryMQ ¶
type DeliveryMQ struct {
// contains filtered or unexported fields
}
func New ¶
func New(opts ...func(opts *DeliveryMQOption)) *DeliveryMQ
func (*DeliveryMQ) Publish ¶
func (q *DeliveryMQ) Publish(ctx context.Context, event models.DeliveryEvent) error
func (*DeliveryMQ) Subscribe ¶
func (q *DeliveryMQ) Subscribe(ctx context.Context) (mqs.Subscription, error)
type DeliveryMQOption ¶
type DeliveryMQOption struct {
QueueConfig *mqs.QueueConfig
}
type DeliveryTracer ¶
type DeliveryTracer interface {
Deliver(ctx context.Context, deliveryEvent *models.DeliveryEvent, destination *models.Destination) (context.Context, trace.Span)
}
type DestinationGetter ¶
type EventGetter ¶
type LogPublisher ¶
type LogPublisher interface {
Publish(ctx context.Context, deliveryEvent models.DeliveryEvent) error
}
type PostDeliveryError ¶
type PostDeliveryError struct {
// contains filtered or unexported fields
}
func (*PostDeliveryError) Error ¶
func (e *PostDeliveryError) Error() string
func (*PostDeliveryError) Unwrap ¶
func (e *PostDeliveryError) Unwrap() error
type PreDeliveryError ¶
type PreDeliveryError struct {
// contains filtered or unexported fields
}
Error types to distinguish between different stages of delivery
func (*PreDeliveryError) Error ¶
func (e *PreDeliveryError) Error() string
func (*PreDeliveryError) Unwrap ¶
func (e *PreDeliveryError) Unwrap() error
type RetryMessage ¶
type RetryMessage struct { DeliveryEventID string EventID string TenantID string DestinationID string Attempt int Telemetry *models.DeliveryEventTelemetry }
func RetryMessageFromDeliveryEvent ¶
func RetryMessageFromDeliveryEvent(deliveryEvent models.DeliveryEvent) RetryMessage
func (*RetryMessage) FromString ¶
func (m *RetryMessage) FromString(str string) error
func (*RetryMessage) ToDeliveryEvent ¶
func (m *RetryMessage) ToDeliveryEvent() models.DeliveryEvent
func (*RetryMessage) ToString ¶
func (m *RetryMessage) ToString() (string, error)
Click to show internal directories.
Click to hide internal directories.