allochealth

package
v1.5.1 Latest Latest
Warning

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

Go to latest
Published: Mar 10, 2023 License: MPL-2.0 Imports: 14 Imported by: 19

Documentation

Index

Constants

View Source
const (
	// AllocHealthEventSource is the source used for emitting task events
	AllocHealthEventSource = "Alloc Unhealthy"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Tracker

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

Tracker tracks the health of an allocation and makes health events watchable via channels.

func NewTracker

func NewTracker(
	parentCtx context.Context,
	logger hclog.Logger,
	alloc *structs.Allocation,
	allocUpdates *cstructs.AllocListener,
	taskEnvBuilder *taskenv.Builder,
	consulClient serviceregistration.Handler,
	checkStore checkstore.Shim,
	minHealthyTime time.Duration,
	useChecks bool,
) *Tracker

NewTracker returns a health tracker for the given allocation.

Depending on job configuration, an allocation's health takes into consideration - An alloc listener - Consul checks (via consul API) - Nomad checks (via client state)

func (*Tracker) AllocStoppedCh

func (t *Tracker) AllocStoppedCh() <-chan struct{}

AllocStoppedCh returns a channel that will be fired if the allocation is stopped. This means that health will not be set.

func (*Tracker) HealthyCh

func (t *Tracker) HealthyCh() <-chan bool

HealthyCh returns a channel that will emit a boolean indicating the health of the allocation.

func (*Tracker) Start

func (t *Tracker) Start()

Start starts the watcher.

func (*Tracker) TaskEvents

func (t *Tracker) TaskEvents() map[string]*structs.TaskEvent

TaskEvents returns a map of events by task. This should only be called after health has been determined. Only tasks that have contributed to the allocation being unhealthy will have an event.

Jump to

Keyboard shortcuts

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