client

package
v0.0.0-...-7f17660 Latest Latest
Warning

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

Go to latest
Published: Nov 8, 2015 License: Apache-2.0 Imports: 4 Imported by: 0

README

Client

This is a go client for the agentcontroller

The python client can be found in jumpscale_core7

Documentation

Index

Constants

View Source
const (
	//ArgDomain domain
	ArgDomain = "domain"
	//ArgName name
	ArgName = "name"
	//ArgMaxTime max time
	ArgMaxTime = "max_time"
	//ArgMaxRestart max restart
	ArgMaxRestart = "max_restart"
	//ArgRecurringPeriod recurring period
	ArgRecurringPeriod = "recurring_period"
	//ArgStatsInterval stats interval
	ArgStatsInterval = "stats_interval"
	//ArgCmdArguments cmd arguments
	ArgCmdArguments = "args"
	//ArgQueue queue
	ArgQueue = "queue"

	//StateRunning running state
	StateRunning = "RUNNING"
	//StateQueued queued state
	StateQueued = "QUEUED"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client interface {
	Run(cmd *Command) (*CommandReference, error)
	GetJobs(ID string, timeout int) ([]*Job, error)
}

Client interface

func New

func New(addr string, password string) Client

New creates a new client

type Command

type Command struct {
	ID     string   `json:"id"`
	Gid    int      `json:"gid"`
	Nid    int      `json:"nid"`
	Cmd    string   `json:"cmd"`
	Args   RunArgs  `json:"args"`
	Data   string   `json:"data"`
	Roles  []string `json:"roles"`
	Fanout bool     `json:"fanout"`
}

Command represents a command

type CommandReference

type CommandReference struct {
	ID string
	// contains filtered or unexported fields
}

CommandReference is an executed command

func (*CommandReference) GetJobs

func (ref *CommandReference) GetJobs(timeout int) ([]*Job, error)

GetJobs get command jobs

func (*CommandReference) GetNextResult

func (ref *CommandReference) GetNextResult(timeout int) (*Job, error)

GetNextResult returns the next available result

type Job

type Job struct {
	ID        string   `json:"id"`
	Gid       int      `json:"gid"`
	Nid       int      `json:"nid"`
	Cmd       string   `json:"cmd"`
	Data      string   `json:"data"`
	Streams   []string `json:"streams`
	Level     int      `json:"level"`
	Starttime int      `json:"starttime"`
	State     string   `json:"state"`
	Time      int      `json:"time"`
	// contains filtered or unexported fields
}

Job represents a job

func (*Job) Wait

func (job *Job) Wait(timeout int) error

Wait waits for job until response is ready

type RunArgs

type RunArgs map[string]interface{}

RunArgs holds the execution arguments

func NewDefaultRunArgs

func NewDefaultRunArgs() RunArgs

NewDefaultRunArgs creates a new default run arguments with default values

func NewRunArgs

func NewRunArgs(domain string, name string, maxTime int, maxRestart int,
	recurrintPeriod int, statsInterval int, args []string, queue string) RunArgs

NewRunArgs creates a new run arguments

func (RunArgs) Args

func (args RunArgs) Args() []string

Args command line arguments (if needed)

func (RunArgs) Domain

func (args RunArgs) Domain() string

Domain domain

func (RunArgs) MaxRestart

func (args RunArgs) MaxRestart() int

MaxRestart max number of restart before giving up

func (RunArgs) MaxTime

func (args RunArgs) MaxTime() int

MaxTime max time to run

func (RunArgs) Name

func (args RunArgs) Name() string

Name name

func (RunArgs) Queue

func (args RunArgs) Queue() string

Queue queue name for serial execution

func (RunArgs) RecurringPeriod

func (args RunArgs) RecurringPeriod() int

RecurringPeriod recurring period

func (RunArgs) StatsInterval

func (args RunArgs) StatsInterval() int

StatsInterval stats interval

type Timeout

type Timeout string

Timeout error type

var TIMEOUT Timeout

TIMEOUT timeout error

func (Timeout) Error

func (t Timeout) Error() string

Jump to

Keyboard shortcuts

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