worker

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Jan 24, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

Package worker provides background workers for processing asynchronous tasks.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	Interval      time.Duration
	BatchSize     int
	MaxRetries    int
	RetryInterval time.Duration
}

Config holds worker configuration

type EventWorker

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

EventWorker processes outbox events

func NewEventWorker

func NewEventWorker(
	config Config,
	txManager database.TxManager,
	outboxRepo OutboxEventRepository,
	logger *slog.Logger,
) *EventWorker

NewEventWorker creates a new EventWorker

func (*EventWorker) Start

func (w *EventWorker) Start(ctx context.Context) error

Start starts the worker

type OutboxEventRepository

type OutboxEventRepository interface {
	Create(ctx context.Context, event *domain.OutboxEvent) error
	GetPendingEvents(ctx context.Context, limit int) ([]*domain.OutboxEvent, error)
	Update(ctx context.Context, event *domain.OutboxEvent) error
}

OutboxEventRepository interface defines outbox event repository operations

Jump to

Keyboard shortcuts

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