events

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Jan 29, 2024 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Delegate

type Delegate struct {
	Scheduled  func(process *eon.Process)
	Blocked    func(process *eon.Process, blockers []*eon.Process)
	Starting   func(process *eon.Process)
	Progressed func(process *eon.Process, payload any)
	Ended      func(process *eon.Process, err error)
}

Delegate is an eon.Delegate implementation that allows each event handler to be optionally specified as an anonymous function.

func (*Delegate) JobBlocked

func (d *Delegate) JobBlocked(process *eon.Process, blockers []*eon.Process)

func (*Delegate) JobEnded

func (d *Delegate) JobEnded(process *eon.Process, err error)

func (*Delegate) JobProgressed

func (d *Delegate) JobProgressed(process *eon.Process, payload any)

func (*Delegate) JobScheduled

func (d *Delegate) JobScheduled(process *eon.Process)

func (*Delegate) JobStarting

func (d *Delegate) JobStarting(process *eon.Process)

type Handler

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

Handler is an eon.Delegate implementation that allows discreet event handlers to be added and removed at any time.

Handler functions are run in the order in which they were added.

A pointer to a zero Handler is ready to use.

func (*Handler) JobBlocked

func (h *Handler) JobBlocked(process *eon.Process, blockers []*eon.Process)

func (*Handler) JobEnded

func (h *Handler) JobEnded(process *eon.Process, err error)

func (*Handler) JobProgressed

func (h *Handler) JobProgressed(process *eon.Process, payload any)

func (*Handler) JobScheduled

func (h *Handler) JobScheduled(process *eon.Process)

func (*Handler) JobStarting

func (h *Handler) JobStarting(process *eon.Process)

func (*Handler) OnBlocked

func (h *Handler) OnBlocked(fn func(process *eon.Process, blockers []*eon.Process)) (remove func())

OnBlocked adds a handler for when an eon.Process is blocked. The returned remove function can be used to remove the handler.

func (*Handler) OnEnded

func (h *Handler) OnEnded(fn func(process *eon.Process, err error)) (remove func())

OnEnded adds a handler for when an eon.Process ends. The returned remove function can be used to remove the handler.

func (*Handler) OnProgressed

func (h *Handler) OnProgressed(fn func(process *eon.Process, payload any)) (remove func())

OnProgressed adds a handler for when an eon.Process progresses. The returned remove function can be used to remove the handler.

func (*Handler) OnScheduled

func (h *Handler) OnScheduled(fn func(process *eon.Process)) (remove func())

OnScheduled adds a handler for when an eon.Process is scheduled. The returned remove function can be used to remove the handler.

func (*Handler) OnStarting

func (h *Handler) OnStarting(fn func(process *eon.Process)) (remove func())

OnStarting adds a handler for when an eon.Process is starting. The returned remove function can be used to remove the handler.

type MultiDelegate

type MultiDelegate []eon.Delegate

MultiDelegate is an eon.Delegate implementation that re-sends notifications to multiple delegates.

func (MultiDelegate) JobBlocked

func (m MultiDelegate) JobBlocked(process *eon.Process, blockers []*eon.Process)

func (MultiDelegate) JobEnded

func (m MultiDelegate) JobEnded(process *eon.Process, err error)

func (MultiDelegate) JobProgressed

func (m MultiDelegate) JobProgressed(process *eon.Process, payload any)

func (MultiDelegate) JobScheduled

func (m MultiDelegate) JobScheduled(process *eon.Process)

func (MultiDelegate) JobStarting

func (m MultiDelegate) JobStarting(process *eon.Process)

Jump to

Keyboard shortcuts

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