mysql

package
v0.3.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 2, 2021 License: MIT Imports: 6 Imported by: 2

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 Mysql for underlying storage Using connectionStr turn it more flexible to use specific db configs

func (*Checkpoint) GetCheckpoint

func (c *Checkpoint) GetCheckpoint(streamName, shardID string) (string, error)

GetCheckpoint 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) SetCheckpoint

func (c *Checkpoint) SetCheckpoint(streamName, shardID, sequenceNumber string) error

SetCheckpoint 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

func WithMaxInterval(maxInterval time.Duration) Option

WithMaxInterval sets the flush interval

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL