Documentation
¶
Overview ¶
Package delivery publishes accepted outbox intents independently of workflow workers.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrConfirmedConflict = errors.New("dispatch: confirmed sink conflict")
ErrConfirmedConflict is returned only after a sink confirms conflicting durable content for this source identity. Unknown outcomes remain retryable.
var ErrIncompleteShutdown = errors.New("dispatch: delivery shutdown incomplete")
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
InstallationID string
Owner string
Concurrency int
PollInterval time.Duration
CallTimeout time.Duration
StoreTimeout time.Duration
LeaseDuration time.Duration
RetryMin time.Duration
RetryMax time.Duration
}
Config bounds work separately for each destination. Concurrency is the maximum number of calls, including calls whose sink ignores context cancellation.
type Option ¶
type Option func(*Publisher)
Option configures a Publisher beyond its Config.
func WithTelemetry ¶
WithTelemetry sets where the publisher records its spans and metrics: one root "deliver outbox event" span per claimed delivery, and the delivery duration and lag histograms. The Forge extension passes the engine's own.
type Publisher ¶
type Publisher struct {
// contains filtered or unexported fields
}
func New ¶
func New(store durable.OutboxStore, config Config, sinks map[durable.Destination]Sink, opts ...Option) (*Publisher, error)