schedulewatcher

package
v0.13.0 Latest Latest
Warning

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

Go to latest
Published: Dec 7, 2019 License: Apache-2.0 Imports: 9 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Machine

type Machine interface {
	State() string
	Name() string
	Identity() string
	InstanceID() string
	Version() string
	TimeStampSeconds() int64
	Transition(t string, args ...interface{}) error
	NotifyWatcherState(string, interface{})
	Debugf(name string, format string, args ...interface{})
	Infof(name string, format string, args ...interface{})
	Errorf(name string, format string, args ...interface{})
}

type State

type State int
const (
	Unknown State = iota
	Off
	On
	Skipped
)

type StateNotification

type StateNotification struct {
	Protocol  string `json:"protocol"`
	Identity  string `json:"identity"`
	ID        string `json:"id"`
	Version   string `json:"version"`
	Timestamp int64  `json:"timestamp"`
	Type      string `json:"type"`
	Machine   string `json:"machine"`
	Name      string `json:"name"`
	State     string `json:"state"`
}

StateNotification describes the current state of the watcher described by io.choria.machine.watcher.exec.v1.state

func (*StateNotification) CloudEvent added in v0.13.0

func (s *StateNotification) CloudEvent() cloudevents.Event

CloudEvent creates a CloudEvent from the state notification

func (*StateNotification) JSON

func (s *StateNotification) JSON() ([]byte, error)

JSON creates a JSON representation of the notification

func (*StateNotification) String

func (s *StateNotification) String() string

String is a string representation of the notification suitable for printing

func (*StateNotification) WatcherType

func (s *StateNotification) WatcherType() string

WatcherType is the type of watcher the notification is for - exec, file etc

type Watcher

type Watcher struct {
	sync.Mutex
	// contains filtered or unexported fields
}

func New

func New(machine Machine, name string, states []string, failEvent string, successEvent string, interval string, ai time.Duration, properties map[string]interface{}) (watcher *Watcher, err error)

func (*Watcher) AnnounceInterval

func (w *Watcher) AnnounceInterval() time.Duration

func (*Watcher) CurrentState

func (w *Watcher) CurrentState() interface{}

func (*Watcher) Name

func (w *Watcher) Name() string

func (*Watcher) NotifyStateChance

func (w *Watcher) NotifyStateChance()

func (*Watcher) Run

func (w *Watcher) Run(ctx context.Context, wg *sync.WaitGroup)

func (*Watcher) Type

func (w *Watcher) Type() string

Jump to

Keyboard shortcuts

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