leasequeue

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Aug 26, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

Package leasequeue integrates fenced leases with queue workers.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func TokenFromContext

func TokenFromContext(ctx context.Context) (lease.Token, bool)

TokenFromContext returns the fencing token for protected-resource writes.

Types

type KeyFunc

type KeyFunc func(core.TaskMessage) (lease.Key, error)

KeyFunc derives a bounded lease key from a delivered queue message.

type Worker

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

Worker adds unique-job and non-overlap admission to a queue worker.

func NewWorker

func NewWorker(
	inner core.Worker,
	client *lease.Client,
	policy lease.Policy,
	key KeyFunc,
) (*Worker, error)

NewWorker wraps a caller-owned worker with fenced lease admission.

func (*Worker) Queue

func (worker *Worker) Queue(task core.TaskMessage) error

Queue delegates to the caller-owned worker.

func (*Worker) Request

func (worker *Worker) Request() (core.TaskMessage, error)

Request delegates to the caller-owned worker.

func (*Worker) Run

func (worker *Worker) Run(ctx context.Context, task core.TaskMessage) error

Run acquires the message lease and exposes its fence through context.

func (*Worker) Shutdown

func (worker *Worker) Shutdown() error

Shutdown delegates to the caller-owned worker.

Jump to

Keyboard shortcuts

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