process

package
v2.0.1+incompatible Latest Latest
Warning

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

Go to latest
Published: Dec 7, 2016 License: Apache-2.0 Imports: 11 Imported by: 68

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ThisHostname string

Functions

func AcquireAccessToken

func AcquireAccessToken(publicToken string) (secretToken string, err error)

AcquireAccessToken attempts to acquire a hopefully free token; returning in such case the secretToken as proof of ownership.

func AttemptElection

func AttemptElection() (bool, error)

AttemptElection tries to grab leadership (become active node)

func ContinuousRegistration

func ContinuousRegistration(extraInfo string, command string)

func ElectedNode

func ElectedNode() (hostname string, token string, isElected bool, err error)

ElectedNode returns the details of the elected node, as well as answering the question "is this process the elected one"?

func ExpireAccessTokens

func ExpireAccessTokens() error

ExpireAccessTokens removes old, known to be uneligible tokens

func ExpireNodesHistory

func ExpireNodesHistory() error

ExpireNodesHistory cleans up the nodes history

func GenerateAccessToken

func GenerateAccessToken(owner string) (publicToken string, err error)

GenerateAccessToken attempts to generate a new access token and returns the public part of the token

func GetHash

func GetHash(input []byte) string

func GetRandomData

func GetRandomData() []byte

func GrabElection

func GrabElection() error

GrabElection forcibly grabs leadership. Use with care!!

func ReadAvailableNodes

func ReadAvailableNodes(onlyHttpNodes bool) ([]string, error)

func Reelect

func Reelect() error

Reelect clears the way for re-elections. Active node is immediately demoted.

func RegisterNode

func RegisterNode(extraInfo string, command string, firstTime bool) (sql.Result, error)

RegisterNode writes down this node in the node_health table

func TokenBelongsToHealthyHttpService

func TokenBelongsToHealthyHttpService(token string) (result bool, err error)

func TokenIsValid

func TokenIsValid(publicToken string, secretToken string) (result bool, err error)

TokenIsValid checks to see whether a given token exists and is not outdated.

Types

type HealthStatus

type HealthStatus struct {
	Healthy        bool
	Hostname       string
	Token          string
	IsActiveNode   bool
	ActiveNode     string
	Error          error
	AvailableNodes []string
}

func HealthTest

func HealthTest() (*HealthStatus, error)

HealthTest attempts to write to the backend database and get a result

func SimpleHealthTest

func SimpleHealthTest() (*HealthStatus, error)

Just check to make sure we can connect to the database

type OrchestratorExecutionMode

type OrchestratorExecutionMode string
const (
	OrchestratorExecutionCliMode  OrchestratorExecutionMode = "CLIMode"
	OrchestratorExecutionHttpMode                           = "HttpMode"
)

type Token

type Token struct {
	Hash string
}

Token is used to identify and validate requests to this service

var ProcessToken *Token = NewToken()

func NewToken

func NewToken() *Token

Jump to

Keyboard shortcuts

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