package
0.33.0
Repository: https://github.com/target/goalert.git
Documentation: pkg.go.dev

# Functions

NewDB creates a new DB.
NewThrottle creates a new Throttle used to manage outgoing messages in a queue.

# Constants

StatusDelivered will be set on delivery if the upstream supports delivery confirmation.
StatusFailed means the message failed to send.
StatusPending means the message is waiting to be sent.
StatusQueuedRemotely means the message has been sent upstream, but is in a remote queue.
StatusSending means the message is in the process of being sent upstream.
StatusSent means the message has been sent upstream, and has left the remote queue (if one exists).
StatusStale is used if the message expired before being sent.

# Variables

ErrAbort is returned when an early-abort is returned due to pause.
GlobalCMThrottle represents the rate limits for each notification type.
PerCMThrottle configures rate limits for individual contact methods.

# Structs

DB implements a priority message sender using Postgres.
Message represents the data for an outgoing message.
Throttle represents the throttled messages for a queue.
ThrottleConfigBuilder can be used to build advanced throttle configurations.
ThrottleItem represents the messages being throttled.
ThrottleRule sets the number of messages allowed to be sent per set duration.

# Interfaces

ThrottleConfig provides ThrottleRules for a given message.

# Type aliases

SendFunc defines a function that sends messages.
Status represents the current state of an outgoing message.
StatusFunc is used to fetch the latest status of a message.
ThrottleRules is a collection of ThrottleRule that implements the ThrottleConfig interface.