memory

package
v0.16.0 Latest Latest
Warning

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

Go to latest
Published: Dec 8, 2022 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// Interval in which to do a sweep of various unprocessed events.
	PeriodicSweepInterval = 15 * time.Second

	// Settings for how old different kind of unprocessed events needs to be
	// to be processed by the periodic sweep.
	PeriodicSweepAge   = 15 * time.Second
	PeriodicCleanupAge = 10 * time.Minute
)

Functions

func NewGracefulContext

func NewGracefulContext(ctx context.Context, idle, forceAfter time.Duration) (
	c context.Context,
	keepAlive func(),
	cancel func(),
)

NewGracefulContext will create a GracefulContext with an idle time which should be longer than a typical operation cadence, and a "force after" duration which should be long enough to let some amount of operations to finish.

Types

type GracefulContext

type GracefulContext struct {
	context.Context
	// contains filtered or unexported fields
}

GracefulContext is a context that can be gracefully cancelled after the original context has been canceled, but with a grace period to let operations finish. The KeepAlive method should be used to signal that operations are still ongoing.

func (*GracefulContext) Done

func (g *GracefulContext) Done() <-chan struct{}

Done implements the Done method of the context.Context interface.

type Outbox

type Outbox struct {
	// contains filtered or unexported fields
}

Outbox implements an eventhorizon.Outbox for MongoDB.

func NewOutbox

func NewOutbox() (*Outbox, error)

NewOutbox creates a new Outbox with a MongoDB URI: `mongodb://hostname`.

func (*Outbox) AddHandler

func (o *Outbox) AddHandler(ctx context.Context, m eh.EventMatcher, h eh.EventHandler) error

AddHandler implements the AddHandler method of the eventhorizon.Outbox interface.

func (*Outbox) Close

func (o *Outbox) Close() error

Close implements the Close method of the eventhorizon.EventBus interface.

func (*Outbox) Errors

func (o *Outbox) Errors() <-chan error

Errors implements the Errors method of the eventhorizon.EventBus interface.

func (*Outbox) HandleEvent

func (o *Outbox) HandleEvent(ctx context.Context, event eh.Event) error

HandleEvent implements the HandleEvent method of the eventhorizon.EventHandler interface.

func (*Outbox) HandlerType

func (o *Outbox) HandlerType() eh.EventHandlerType

HandlerType implements the HandlerType method of the eventhorizon.EventHandler interface.

func (*Outbox) Start

func (o *Outbox) Start()

Start implements the Start method of the eventhorizon.Outbox interface.

Jump to

Keyboard shortcuts

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