Versions in this module Expand all Collapse all v1 v1.1.0 Nov 7, 2026 v1.0.0 Nov 7, 2026 Changes in this version + var ErrDrop = errors.New("outbox: drop this message") + func Enqueue(ctx context.Context, db *gorm.DB, topic string, payload any) error + type Message struct + Attempts int + AvailableAt time.Time + CreatedAt time.Time + ID uuid.UUID + LastError string + Payload []byte + PublishedAt *time.Time + Topic string + TraceID string + func (Message) TableName() string + type Publisher interface + Publish func(ctx context.Context, m Message) error + type PublisherFunc func(ctx context.Context, m Message) error + func (f PublisherFunc) Publish(ctx context.Context, m Message) error + type Relay struct + func NewRelay(opt RelayOptions) *Relay + func (r *Relay) OnReady(ctx context.Context) error + func (r *Relay) OnShutdown(ctx context.Context) error + func (r *Relay) Parked(ctx context.Context, limit int) ([]Message, error) + func (r *Relay) Pass(ctx context.Context) (int, error) + type RelayOptions struct + Backoff time.Duration + Batch int + DB *gorm.DB + Interval time.Duration + MaxAttempts int + Publisher Publisher