job

package
v0.10.8 Latest Latest
Warning

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

Go to latest
Published: Apr 10, 2018 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

View Source
const (
	JOB_LOAD_ATTEMPTS       = 10
	JOB_LOAD_SLEEP_INTERVAL = time.Second * 5
)

Variables

View Source
var CreateTaskSteps = []Step{
	{
		Name:    "Create Task",
		Timeout: time.Hour * 24,
		Action:  CreateTask,
	},
}
View Source
var DeleteEnvironmentSteps = []Step{
	{
		Name:    "Delete Dependencies",
		Timeout: time.Minute * 15,
		Action:  Fold(DeleteEnvironmentLoadBalancers, DeleteEnvironmentServices, DeleteEnvironmentTasks),
	},
	{
		Name:    "Delete Environment",
		Timeout: time.Minute * 10,
		Action:  DeleteEnvironment,
	},
}
View Source
var DeleteLoadBalancerSteps = []Step{
	{
		Name:    "Delete Load Balancer",
		Timeout: time.Minute * 10,
		Action:  DeleteLoadBalancer,
	},
}
View Source
var DeleteServiceSteps = []Step{
	{
		Name:    "Delete Service",
		Timeout: time.Minute * 10,
		Action:  DeleteService,
	},
}
View Source
var DeleteTaskSteps = []Step{
	{
		Name:    "Delete Task",
		Timeout: time.Minute * 10,
		Action:  DeleteTask,
	},
}

Functions

func CreateTask

func CreateTask(quit chan bool, context *JobContext) error

func DeleteEnvironment

func DeleteEnvironment(quit chan bool, context *JobContext) error

func DeleteEnvironmentLoadBalancers

func DeleteEnvironmentLoadBalancers(quit chan bool, context *JobContext) error

func DeleteEnvironmentServices

func DeleteEnvironmentServices(quit chan bool, context *JobContext) error

func DeleteEnvironmentTasks

func DeleteEnvironmentTasks(quit chan bool, context *JobContext) error

func DeleteLoadBalancer

func DeleteLoadBalancer(quit chan bool, context *JobContext) error

func DeleteService

func DeleteService(quit chan bool, context *JobContext) error

func DeleteTask

func DeleteTask(quit chan bool, context *JobContext) error

Types

type Action

type Action func(chan bool, *JobContext) error

func Fold

func Fold(actions ...Action) Action

Fold takes a slice of Actions and runs them async

type JobContext

type JobContext struct {
	Logic             *logic.Logic
	LoadBalancerLogic logic.LoadBalancerLogic
	ServiceLogic      logic.ServiceLogic
	TaskLogic         logic.TaskLogic
	EnvironmentLogic  logic.EnvironmentLogic
	// contains filtered or unexported fields
}

func NewJobContext

func NewJobContext(jobID string, lgc *logic.Logic, request string) *JobContext

func (*JobContext) AddJobMeta

func (j *JobContext) AddJobMeta(key, val string) error

func (*JobContext) CreateCopyWithNewRequest

func (j *JobContext) CreateCopyWithNewRequest(request string) *JobContext

func (*JobContext) Request

func (j *JobContext) Request() string

func (*JobContext) SetJobMeta

func (j *JobContext) SetJobMeta(meta map[string]string) error

type JobRunner

type JobRunner struct {
	Logic   *logic.Logic
	Context *JobContext
	Steps   []Step
	// contains filtered or unexported fields
}

func NewJobRunner

func NewJobRunner(logic *logic.Logic, jobID string) *JobRunner

func (*JobRunner) Load

func (j *JobRunner) Load() error

func (*JobRunner) MarkStatus

func (j *JobRunner) MarkStatus(status types.JobStatus) error

func (*JobRunner) Run

func (j *JobRunner) Run() error

type Step

type Step struct {
	Name    string
	Timeout time.Duration
	Action  Action
}

Jump to

Keyboard shortcuts

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