Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Checkpoint ¶
type Checkpoint struct {
// contains filtered or unexported fields
}
Checkpoint stores and retrieves the last evaluated key from a DDB scan
func New ¶
func New(appName, tableName, connectionStr string, opts ...Option) (*Checkpoint, error)
New returns a checkpoint that uses PostgresDB for underlying storage Using connectionStr turn it more flexible to use specific db configs
func (*Checkpoint) Get ¶
func (c *Checkpoint) Get(streamName, shardID string) (string, error)
Get determines if a checkpoint for a particular Shard exists. Typically used to determine whether we should start processing the shard with TRIM_HORIZON or AFTER_SEQUENCE_NUMBER (if checkpoint exists).
func (*Checkpoint) GetMaxInterval ¶
func (c *Checkpoint) GetMaxInterval() time.Duration
GetMaxInterval returns the maximum interval before the checkpoint
func (*Checkpoint) Set ¶
func (c *Checkpoint) Set(streamName, shardID, sequenceNumber string) error
Set stores a checkpoint for a shard (e.g. sequence number of last record processed by application). Upon failover, record processing is resumed from this point.
func (*Checkpoint) Shutdown ¶
func (c *Checkpoint) Shutdown() error
Shutdown the checkpoint. Save any in-flight data.
type Option ¶
type Option func(*Checkpoint)
Option is used to override defaults when creating a new Checkpoint
func WithMaxInterval ¶
WithMaxInterval sets the flush interval