Documentation ¶
Index ¶
- Constants
- func ConvertColonyArrayToJSON(colonies []*Colony) (string, error)
- func ConvertCronArrayToJSON(crons []*Cron) (string, error)
- func ConvertGeneratorArrayToJSON(generators []*Generator) (string, error)
- func ConvertProcessArrayToJSON(processes []*Process) (string, error)
- func ConvertProcessGraphArrayToJSON(processGraphs []*ProcessGraph) (string, error)
- func ConvertRuntimeArrayToJSON(runtimes []*Runtime) (string, error)
- func GenerateRandomID() string
- func IsAttributeArraysEqual(attributes1 []Attribute, attributes2 []Attribute) bool
- func IsColonyArraysEqual(colonies1 []*Colony, colonies2 []*Colony) bool
- func IsCronArraysEqual(crons1 []*Cron, crons2 []*Cron) bool
- func IsGeneratorArraysEqual(generators1 []*Generator, generators2 []*Generator) bool
- func IsProcessArraysEqual(processes1 []*Process, processes2 []*Process) bool
- func IsProcessGraphArraysEqual(processGraphs1 []*ProcessGraph, processGraphs2 []*ProcessGraph) bool
- func IsRuntimeArraysEqual(runtimes1 []*Runtime, runtimes2 []*Runtime) bool
- type Attribute
- type Code
- type Colony
- type Conditions
- type Cron
- type Data
- type Edge
- type Failure
- type Generator
- type GeneratorArg
- type Location
- type Node
- type Position
- type Process
- func ConvertJSONToProcess(jsonString string) (*Process, error)
- func ConvertJSONToProcessArray(jsonString string) ([]*Process, error)
- func CreateProcess(processSpec *ProcessSpec) *Process
- func CreateProcessFromDB(processSpec *ProcessSpec, id string, assignedRuntimeID string, isAssigned bool, ...) *Process
- func (process *Process) AddChild(childID string)
- func (process *Process) AddParent(parentID string)
- func (process *Process) Assign()
- func (process *Process) Clone() *Process
- func (process *Process) Equals(process2 *Process) bool
- func (process *Process) ProcessingTime() time.Duration
- func (process *Process) SetAssignedRuntimeID(runtimeID string)
- func (process *Process) SetAttributes(attributes []Attribute)
- func (process *Process) SetEndTime(endTime time.Time)
- func (process *Process) SetProcessGraphID(processGraphID string)
- func (process *Process) SetStartTime(startTime time.Time)
- func (process *Process) SetState(state int)
- func (process *Process) SetSubmissionTime(submissionTime time.Time)
- func (process *Process) ToJSON() (string, error)
- func (process *Process) Unassign()
- func (process *Process) WaitingTime() time.Duration
- type ProcessGraph
- func ConvertJSONToProcessGraph(jsonString string) (*ProcessGraph, error)
- func ConvertJSONToProcessGraphArray(jsonString string) ([]*ProcessGraph, error)
- func ConvertJSONToProcessGraphWithStorage(jsonString string) (*ProcessGraph, error)
- func CreateProcessGraph(colonyID string) (*ProcessGraph, error)
- func (graph *ProcessGraph) AddRoot(processID string)
- func (graph *ProcessGraph) Depth(childProcessID string) (int, error)
- func (graph *ProcessGraph) Equals(graph2 *ProcessGraph) bool
- func (graph *ProcessGraph) FailedProcesses() (int, error)
- func (graph *ProcessGraph) GetRoot(childProcessID string) (*Process, error)
- func (graph *ProcessGraph) Iterate(visitFunc func(process *Process) error) error
- func (graph *ProcessGraph) Leaves() ([]string, error)
- func (graph *ProcessGraph) Processes() (int, error)
- func (graph *ProcessGraph) Resolve() error
- func (graph *ProcessGraph) RunningProcesses() (int, error)
- func (graph *ProcessGraph) SetStorage(storage ProcessGraphStorage)
- func (graph *ProcessGraph) SuccessfulProcesses() (int, error)
- func (graph *ProcessGraph) ToJSON() (string, error)
- func (graph *ProcessGraph) UpdateProcessIDs() error
- func (graph *ProcessGraph) WaitForParents() (int, error)
- func (graph *ProcessGraph) WaitProcesses() (int, error)
- type ProcessGraphStorage
- type ProcessSpec
- type Runtime
- func ConvertJSONToRuntime(jsonString string) (*Runtime, error)
- func ConvertJSONToRuntimeArray(jsonString string) ([]*Runtime, error)
- func CreateRuntime(id string, runtimeType string, name string, colonyID string, cpu string, ...) *Runtime
- func CreateRuntimeFromDB(id string, runtimeType string, name string, colonyID string, cpu string, ...) *Runtime
- func (runtime *Runtime) Approve()
- func (runtime *Runtime) Equals(runtime2 *Runtime) bool
- func (runtime *Runtime) IsApproved() bool
- func (runtime *Runtime) IsPending() bool
- func (runtime *Runtime) IsRejected() bool
- func (runtime *Runtime) Reject()
- func (runtime *Runtime) SetColonyID(colonyID string)
- func (runtime *Runtime) SetID(id string)
- func (runtime *Runtime) ToJSON() (string, error)
- type Statistics
- type Style
- type WorkflowSpec
Constants ¶
View Source
const ( IN int = 0 OUT = 1 ERR = 2 ENV = 3 )
View Source
const ( WAITING int = 0 RUNNING = 1 SUCCESS = 2 FAILED = 3 )
View Source
const ( PENDING int = 0 APPROVED = 1 REJECTED = 2 )
Variables ¶
This section is empty.
Functions ¶
func ConvertCronArrayToJSON ¶
func ConvertProcessGraphArrayToJSON ¶
func ConvertProcessGraphArrayToJSON(processGraphs []*ProcessGraph) (string, error)
func GenerateRandomID ¶
func GenerateRandomID() string
func IsAttributeArraysEqual ¶
func IsColonyArraysEqual ¶
func IsCronArraysEqual ¶
func IsGeneratorArraysEqual ¶
func IsProcessArraysEqual ¶
func IsProcessGraphArraysEqual ¶
func IsProcessGraphArraysEqual(processGraphs1 []*ProcessGraph, processGraphs2 []*ProcessGraph) bool
func IsRuntimeArraysEqual ¶
Types ¶
type Attribute ¶
type Attribute struct { ID string `json:"attributeid"` TargetID string `json:"targetid"` TargetColonyID string `json:"targetcolonyid"` TargetProcessGraphID string `json:"targetprocessgraphid"` AttributeType int `json:"attributetype"` Key string `json:"key"` Value string `json:"value"` }
func ConvertJSONToAttribute ¶
func CreateAttribute ¶
func (*Attribute) GenerateID ¶
func (attribute *Attribute) GenerateID()
type Conditions ¶
type Cron ¶
type Cron struct { ID string `json:"cronid"` ColonyID string `json:"colonyid"` Name string `json:"name"` CronExpression string `json:"cronexpression"` Interval int `json:"interval"` Random bool `json:"random"` NextRun time.Time `json:"nextrun"` LastRun time.Time `json:"lastrun"` WorkflowSpec string `json:"workflowspec"` PrevProcessGraphID string `json:"prevprocessgraphid"` WaitForPrevProcessGraph bool `json:"waitforprevprocessgraph"` }
func ConvertJSONToCron ¶
func ConvertJSONToCronArray ¶
func CreateCron ¶
func (*Cron) HasExpired ¶
type Generator ¶
type Generator struct { ID string `json:"generatorid"` ColonyID string `json:"colonyid"` Name string `json:"name"` WorkflowSpec string `json:"workflowspec"` Trigger int `json:"trigger"` LastRun time.Time `json:"lastrun"` }
func ConvertJSONToGenerator ¶
func CreateGenerator ¶
type GeneratorArg ¶
func CreateGeneratorArg ¶
func CreateGeneratorArg(generatorID string, colonyID string, arg string) *GeneratorArg
type Process ¶
type Process struct { ID string `json:"processid"` AssignedRuntimeID string `json:"assignedruntimeid"` IsAssigned bool `json:"isassigned"` State int `json:"state"` SubmissionTime time.Time `json:"submissiontime"` StartTime time.Time `json:"starttime"` EndTime time.Time `json:"endtime"` WaitDeadline time.Time `json:"waitdeadline"` ExecDeadline time.Time `json:"execdeadline"` Retries int `json:"retries"` Attributes []Attribute `json:"attributes"` ProcessSpec ProcessSpec `json:"spec"` WaitForParents bool `json:"waitforparents"` Parents []string `json:"parents"` Children []string `json:"children"` ProcessGraphID string `json:"processgraphid"` Input []string `json:"in"` Output []string `json:"out"` Errors []string `json:"errors"` }
func ConvertJSONToProcess ¶
func CreateProcess ¶
func CreateProcess(processSpec *ProcessSpec) *Process
func CreateProcessFromDB ¶
func (*Process) ProcessingTime ¶
func (*Process) SetAssignedRuntimeID ¶
func (*Process) SetAttributes ¶
func (*Process) SetEndTime ¶
func (*Process) SetProcessGraphID ¶
func (*Process) SetStartTime ¶
func (*Process) SetSubmissionTime ¶
func (*Process) WaitingTime ¶
type ProcessGraph ¶
type ProcessGraph struct { ID string `json:"processgraphid"` ColonyID string `json:"colonyid"` Roots []string `json:"rootprocessids"` State int `json:"state"` SubmissionTime time.Time `json:"submissiontime"` StartTime time.Time `json:"starttime"` EndTime time.Time `json:"endtime"` ProcessIDs []string `json:"processids"` Nodes []Node `json:"nodes"` Edges []Edge `json:"edges"` // contains filtered or unexported fields }
func ConvertJSONToProcessGraph ¶
func ConvertJSONToProcessGraph(jsonString string) (*ProcessGraph, error)
func ConvertJSONToProcessGraphArray ¶
func ConvertJSONToProcessGraphArray(jsonString string) ([]*ProcessGraph, error)
func ConvertJSONToProcessGraphWithStorage ¶
func ConvertJSONToProcessGraphWithStorage(jsonString string) (*ProcessGraph, error)
func CreateProcessGraph ¶
func CreateProcessGraph(colonyID string) (*ProcessGraph, error)
func (*ProcessGraph) AddRoot ¶
func (graph *ProcessGraph) AddRoot(processID string)
func (*ProcessGraph) Equals ¶
func (graph *ProcessGraph) Equals(graph2 *ProcessGraph) bool
func (*ProcessGraph) FailedProcesses ¶
func (graph *ProcessGraph) FailedProcesses() (int, error)
func (*ProcessGraph) GetRoot ¶
func (graph *ProcessGraph) GetRoot(childProcessID string) (*Process, error)
func (*ProcessGraph) Iterate ¶
func (graph *ProcessGraph) Iterate(visitFunc func(process *Process) error) error
func (*ProcessGraph) Leaves ¶
func (graph *ProcessGraph) Leaves() ([]string, error)
func (*ProcessGraph) Processes ¶
func (graph *ProcessGraph) Processes() (int, error)
func (*ProcessGraph) Resolve ¶
func (graph *ProcessGraph) Resolve() error
func (*ProcessGraph) RunningProcesses ¶
func (graph *ProcessGraph) RunningProcesses() (int, error)
func (*ProcessGraph) SetStorage ¶
func (graph *ProcessGraph) SetStorage(storage ProcessGraphStorage)
func (*ProcessGraph) SuccessfulProcesses ¶
func (graph *ProcessGraph) SuccessfulProcesses() (int, error)
func (*ProcessGraph) ToJSON ¶
func (graph *ProcessGraph) ToJSON() (string, error)
func (*ProcessGraph) UpdateProcessIDs ¶
func (graph *ProcessGraph) UpdateProcessIDs() error
func (*ProcessGraph) WaitForParents ¶
func (graph *ProcessGraph) WaitForParents() (int, error)
func (*ProcessGraph) WaitProcesses ¶
func (graph *ProcessGraph) WaitProcesses() (int, error)
type ProcessGraphStorage ¶
type ProcessSpec ¶
type ProcessSpec struct { Name string `json:"name"` Func string `json:"func"` Args []string `json:"args"` Priority int `json:"priority"` MaxWaitTime int `json:"maxwaittime"` MaxExecTime int `json:"maxexectime"` MaxRetries int `json:"maxretries"` Conditions Conditions `json:"conditions"` Env map[string]string `json:"env"` }
func ConvertJSONToProcessSpec ¶
func ConvertJSONToProcessSpec(jsonString string) (*ProcessSpec, error)
func CreateEmptyProcessSpec ¶
func CreateEmptyProcessSpec() *ProcessSpec
func CreateProcessSpec ¶
func (*ProcessSpec) AddDependency ¶
func (processSpec *ProcessSpec) AddDependency(dependency string)
func (*ProcessSpec) Equals ¶
func (processSpec *ProcessSpec) Equals(processSpec2 *ProcessSpec) bool
func (*ProcessSpec) ToJSON ¶
func (processSpec *ProcessSpec) ToJSON() (string, error)
type Runtime ¶
type Runtime struct { ID string `json:"runtimeid"` RuntimeType string `json:"runtimetype"` Name string `json:"name"` ColonyID string `json:"colonyid"` CPU string `json:"cpu"` Cores int `json:"cores"` Mem int `json:"mem"` GPU string `json:"gpu"` GPUs int `json:"gpus"` State int `json:"state"` CommissionTime time.Time `json:"commissiontime"` LastHeardFromTime time.Time `json:"lastheardfromtime"` Location Location `json:"location"` }
func ConvertJSONToRuntime ¶
func CreateRuntime ¶
func CreateRuntimeFromDB ¶
func (*Runtime) IsApproved ¶
func (*Runtime) IsRejected ¶
func (*Runtime) SetColonyID ¶
type Statistics ¶
type Statistics struct { Colonies int `json:"colonies"` Runtimes int `json:"runtimes"` WaitingProcesses int `json:"waitingprocesses"` RunningProcesses int `json:"runningprocesses"` SuccessfulProcesses int `json:"successfulprocesses"` FailedProcesses int `json:"failedprocesses"` WaitingWorkflows int `json:"waitingworkflows"` RunningWorkflows int `json:"runningworkflows"` SuccessfulWorkflows int `json:"successfulworkflows"` FailedWorkflows int `json:"failedworkflows"` }
func ConvertJSONToStatistics ¶
func ConvertJSONToStatistics(jsonString string) (*Statistics, error)
func CreateStatistics ¶
func (*Statistics) Equals ¶
func (stat *Statistics) Equals(stat2 *Statistics) bool
func (*Statistics) ToJSON ¶
func (stat *Statistics) ToJSON() (string, error)
type WorkflowSpec ¶
type WorkflowSpec struct { ColonyID string `json:"colonyid"` ProcessSpecs []ProcessSpec `json:"processspecs"` }
func ConvertJSONToWorkflowSpec ¶
func ConvertJSONToWorkflowSpec(jsonString string) (*WorkflowSpec, error)
func CreateWorkflowSpec ¶
func CreateWorkflowSpec(colonyID string) *WorkflowSpec
func (*WorkflowSpec) AddProcessSpec ¶
func (workflowSpec *WorkflowSpec) AddProcessSpec(processSpec *ProcessSpec)
func (*WorkflowSpec) Equals ¶
func (workflowSpec *WorkflowSpec) Equals(workflowSpec2 *WorkflowSpec) bool
func (*WorkflowSpec) ToJSON ¶
func (workflowSpec *WorkflowSpec) ToJSON() (string, error)
Click to show internal directories.
Click to hide internal directories.