up

package
v1.1.4 Latest Latest
Warning

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

Go to latest
Published: Jun 19, 2018 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Overview

Package up is used to run a function for some duration. If a new function is added while a previous run is still ongoing, nothing new will be executed.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Func

type Func func() error

Func is used to determine if a target is alive. If so this function must return nil.

type Probe

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

Probe is used to run a single Func until it returns true (indicating a target is healthy). If an Func is already in progress no new one will be added, i.e. there is always a maximum of 1 checks in flight.

func New

func New() *Probe

New returns a pointer to an intialized Probe.

func (*Probe) Do

func (p *Probe) Do(f Func)

Do will probe target, if a probe is already in progress this is a noop.

func (*Probe) SetInterval

func (p *Probe) SetInterval(interval time.Duration)

SetInterval sets the probing interval to be used by upcoming probes initiated with Do.

func (*Probe) Start

func (p *Probe) Start(interval time.Duration)

Start will initialize the probe manager, after which probes can be initiated with Do.

func (*Probe) Stop

func (p *Probe) Stop()

Stop stops the probing.

Jump to

Keyboard shortcuts

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