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 Failure
- type Generator
- type GeneratorArg
- 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) 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 WorkflowSpec
Constants ¶
View Source
const ( IN int = 0 OUT = 1 ERR = 2 ENV = 4 )
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"`
// 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
Note: This function requires a working graph.storage reference
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"`
}
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:"successworkflows"`
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.