job

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Dec 22, 2016 License: Apache-2.0 Imports: 5 Imported by: 738

Documentation

Index

Constants

View Source
const (
	JobStateInactive = JobState("inactive")
	JobStateLoaded   = JobState("loaded")
	JobStateLaunched = JobState("launched")

	JobActionSchedule   = JobAction("job_action_schedule")
	JobActionUnschedule = JobAction("job_action_unschedule")
	JobActionReschedule = JobAction("job_action_reschedule")
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Job

type Job struct {
	Name            string
	State           *JobState
	TargetState     JobState
	TargetMachineID string
	Unit            unit.UnitFile
}

Job is a legacy construct encapsulating a scheduled unit in fleet

func NewJob

func NewJob(name string, unit unit.UnitFile) *Job

NewJob creates a new Job based on the given name and Unit. The returned Job has a populated UnitHash and empty JobState. nil is returned on failure.

func (*Job) Conflicts added in v0.3.0

func (j *Job) Conflicts() []string

Conflicts returns a list of Job names that cannot be scheduled to the same machine as this Job.

func (*Job) Peers added in v0.3.0

func (j *Job) Peers() []string

Peers returns a list of Job names that must be scheduled to the same machine as this Job.

func (*Job) Replaces added in v0.13.0

func (j *Job) Replaces() []string

Replaces returns a list of Job names that should be scheduled to the another machine as this Job.

func (*Job) RequiredTarget added in v0.3.0

func (j *Job) RequiredTarget() (string, bool)

RequiredTarget determines whether or not this Job must be scheduled to a specific machine. If such a requirement exists, the first value returned represents the ID of such a machine, while the second value will be a bool true. If no requirement exists, an empty string along with a bool false will be returned.

func (*Job) RequiredTargetMetadata added in v0.3.0

func (j *Job) RequiredTargetMetadata() map[string]pkg.Set

RequiredTargetMetadata return all machine-related metadata from a Job's requirements. Valid metadata fields are strings of the form `key=value`, where both key and value are not the empty string.

func (*Job) Scheduled added in v0.5.3

func (j *Job) Scheduled() bool

func (*Job) ValidateRequirements added in v0.8.2

func (j *Job) ValidateRequirements() error

ValidateRequirements ensures that all options in the [X-Fleet] section of the job's associated unit file are known keys. If not, an error is returned.

type JobAction added in v1.0.0

type JobAction string

type JobState

type JobState string

func ParseJobState added in v0.3.0

func ParseJobState(s string) (JobState, error)

func (JobState) ToPB added in v1.0.0

func (state JobState) ToPB() pb.TargetState

type ScheduledUnit added in v0.7.0

type ScheduledUnit struct {
	Name            string
	State           *JobState
	TargetMachineID string
}

ScheduledUnit represents a Unit known by fleet and encapsulates its current scheduling state. This does not include Global units.

func (*ScheduledUnit) ToPB added in v1.0.0

func (u *ScheduledUnit) ToPB() pb.ScheduledUnit

type Unit added in v0.7.0

type Unit struct {
	Name        string
	Unit        unit.UnitFile
	TargetState JobState
}

Unit represents a Unit that has been submitted to fleet (list-unit-files)

func (*Unit) Conflicts added in v0.8.0

func (u *Unit) Conflicts() []string

The following helper functions are to facilitate the transition from Job --> Unit

func (*Unit) IsGlobal added in v0.7.1

func (u *Unit) IsGlobal() bool

IsGlobal returns whether a Unit is considered a global unit

func (*Unit) Peers added in v0.8.0

func (u *Unit) Peers() []string

func (*Unit) Replaces added in v0.13.0

func (u *Unit) Replaces() []string

func (*Unit) RequiredTarget added in v0.8.0

func (u *Unit) RequiredTarget() (string, bool)

func (*Unit) RequiredTargetMetadata added in v0.8.0

func (u *Unit) RequiredTargetMetadata() map[string]pkg.Set

func (*Unit) ToPB added in v1.0.0

func (u *Unit) ToPB() pb.Unit

Jump to

Keyboard shortcuts

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