Documentation ¶
Overview ¶
------------------------------------------------------------------------------ NB: the code here has been initialized by using the VSCode snippet "New Entity BI"; we leave all the commented code here to show all the methods that can be overridden ------------------------------------------------------------------------------
Index ¶
- Constants
- Variables
- func RegisterTaskFunction(functionName TaskFunctionName, function taskFunction)
- type FlowStatus
- type Task
- func (thisTask *Task) BeforeJSON(loadingID g.LoadingID) g.IEntity
- func (thisTask *Task) BoolParam(logger g.ILogger, paramID TaskParameterID, errIfAbsent bool) bool
- func (thisTask *Task) CanBeUpdated(biContext g.BiContext, instore g.IEntity) g.Error
- func (thisTask *Task) ChangeBeforeInsert(biContext g.BiContext) g.Error
- func (thisTask *Task) ChangeBeforeUpdate(biContext g.BiContext, instore g.IEntity) g.Error
- func (thisTask *Task) DefineLoadingPlan(loadingID g.LoadingID) g.ILoadingPlan
- func (thisTask *Task) DoAfterRead(biContext g.BiContext, loadingID g.LoadingID) g.Error
- func (thisTask *Task) DurationParam(logger g.ILogger, paramID TaskParameterID, defaultValue time.Duration) time.Duration
- func (thisTask *Task) GetAllDependsOn() []*Task
- func (thisTask *Task) GetAllNextTasks() []*Task
- func (thisTask *Task) InitSchema() *g.EntitySchema
- func (thisTask *Task) IntParam(logger g.ILogger, paramID TaskParameterID, defaultValue int) int
- func (thisTask *Task) LogProgress(biContext g.BiContext, progress int, commentFmt string, ...)
- func (thisTask *Task) NumParam(logger g.ILogger, paramID TaskParameterID, defaultValue float64) float64
- func (thisTask *Task) String() string
- func (thisTask *Task) StringParam(logger g.ILogger, paramID TaskParameterID, defaultValue string) string
- type TaskActionType
- type TaskConfig
- func (thisTask *TaskConfig) BeforeJSON(loadingID g.LoadingID) g.IEntity
- func (thisTaskConfig *TaskConfig) ChangeBeforeInsert(biContext g.BiContext) g.Error
- func (thisTaskConfig *TaskConfig) ChangeBeforeUpdate(biContext g.BiContext, instore g.IEntity) g.Error
- func (thisTaskConfig *TaskConfig) DefineLoadingPlan(loadingID g.LoadingID) g.ILoadingPlan
- func (thisTaskConfig *TaskConfig) GetIntervals() (float64, float64, float64, g.Error)
- func (thisTaskConfig *TaskConfig) InitSchema() *g.EntitySchema
- func (thisTaskConfig *TaskConfig) IsValid(biContext g.BiContext) g.Error
- func (thisTaskConfig *TaskConfig) Param(paramID TaskParameterID) *TaskParameter
- func (thisTaskConfig *TaskConfig) ScanForLoop() g.Error
- type TaskFlow
- func (thisTaskFlow *TaskFlow) BeforeJSON(loadingID g.LoadingID) g.IEntity
- func (thisTaskFlow *TaskFlow) DefineLoadingPlan(loadingID g.LoadingID) g.ILoadingPlan
- func (thisTaskFlow *TaskFlow) DoAfterRead(biContext g.BiContext, loadingID g.LoadingID) g.Error
- func (thisTaskFlow *TaskFlow) InitSchema() *g.EntitySchema
- type TaskFlowConfig
- func (thisTaskFlowConfig *TaskFlowConfig) BeforeJSON(loadingID g.LoadingID) g.IEntity
- func (thisTaskFlowConfig *TaskFlowConfig) ChangeBeforeInsert(biContext g.BiContext) g.Error
- func (thisTaskFlowConfig *TaskFlowConfig) ChangeBeforeUpdate(biContext g.BiContext, instore g.IEntity) g.Error
- func (thisTaskFlowConfig *TaskFlowConfig) CompleteInfo(recursive bool) g.Error
- func (thisTaskFlowConfig *TaskFlowConfig) DefineLoadingPlan(loadingID g.LoadingID) g.ILoadingPlan
- func (thisTaskFlowConfig *TaskFlowConfig) GetGroup(groupGlobalRef string) *TaskGroupConfig
- func (thisTaskFlowConfig *TaskFlowConfig) GetTask(taskGlobalRef string) *TaskConfig
- func (TaskFlowConfig *TaskFlowConfig) InitSchema() *g.EntitySchema
- func (thisTaskFlowConfig *TaskFlowConfig) IsValid(biContext g.BiContext) g.Error
- func (thisTaskFlowConfig *TaskFlowConfig) ScanForLoops() g.Error
- type TaskFunctionName
- type TaskGroup
- type TaskGroupConfig
- func (thisTaskGroupConfig *TaskGroupConfig) ChangeBeforeInsert(biContext g.BiContext) g.Error
- func (thisTaskGroupConfig *TaskGroupConfig) ChangeBeforeUpdate(biContext g.BiContext, instore g.IEntity) g.Error
- func (thisTaskGroupConfig *TaskGroupConfig) DefineLoadingPlan(loadingID g.LoadingID) g.ILoadingPlan
- func (thisTaskGroupConfig *TaskGroupConfig) InitSchema() *g.EntitySchema
- func (thisTaskGroupConfig *TaskGroupConfig) IsValid(biContext g.BiContext) g.Error
- type TaskLog
- type TaskParameter
- type TaskParameterID
- type TaskStatus
Constants ¶
const ( FieldTaskFlowConfigREFERENCE g.EntityPropertyID = "taskflowconfig$Reference" FieldTaskFlowConfigNAME g.EntityPropertyID = "taskflowconfig$Name" LinkTaskFlowConfigTASKS g.EntityPropertyID = "taskflowconfig$Tasks" LinkTaskFlowConfigGROUPS g.EntityPropertyID = "taskflowconfig$Groups" LinkTaskFlowConfigRUNNINGFLOWS g.EntityPropertyID = "taskflowconfig$RunningFlows" )
Entity property IDs, allowing referencing properties of a given entity type from another entity type
const ( LoadingTASKFLOWCONFIGFULL g.LoadingID = "full_flow_config" LoadingTASKFLOWCONFIG4WEB g.LoadingID = "flow_config_4_web" )
Loading IDs
const ( FieldTaskGroupConfigGLOBALREFERENCE g.EntityPropertyID = "taskgroupconfig$GlobalReference" FieldTaskGroupConfigNAME g.EntityPropertyID = "taskgroupconfig$Name" LinkTaskGroupConfigFLOW g.EntityPropertyID = "taskgroupconfig$Flow" LinkTaskGroupConfigTASKS g.EntityPropertyID = "taskgroupconfig$Tasks" LinkTaskGroupConfigRUNNINGGROUPS g.EntityPropertyID = "taskgroupconfig$RunningGroups" )
Entity property IDs, allowing referencing properties of a given entity type from another entity type
const ( FieldTaskConfigGLOBALREFERENCE g.EntityPropertyID = "taskconfig$GlobalReference" FieldTaskConfigNAME g.EntityPropertyID = "taskconfig$Name" LinkTaskConfigFLOW g.EntityPropertyID = "taskconfig$Flow" LinkTaskConfigGROUP g.EntityPropertyID = "taskconfig$Group" LinkTaskConfigDEPENDSON g.EntityPropertyID = "taskconfig$DependsOn" LinkTaskConfigNEXTTASKS g.EntityPropertyID = "taskconfig$NextTasks" LinkTaskConfigPARAMS g.EntityPropertyID = "taskconfig$Params" LinkTaskConfigRUNNINGTASKS g.EntityPropertyID = "taskconfig$RunningTasks" )
Entity property IDs, allowing referencing properties of a given entity type from another entity type
const ( LoadingTASKCONF4WEB g.LoadingID = "task_4_web" LoadingTASKCONFPARAMS g.LoadingID = "just_params" )
Loading IDs
const ( FieldTaskParameterGLOBALREFERENCE g.EntityPropertyID = "taskparameter$GlobalReference" FieldTaskParameterPARAMID g.EntityPropertyID = "taskparameter$ParamID" FieldTaskParameterVALUE g.EntityPropertyID = "taskparameter$Value" LinkTaskParameterTASK g.EntityPropertyID = "taskparameter$Task" )
Entity property IDs, allowing referencing properties of a given entity type from another entity type
const ( // TaskActionDISPLAY : displaying a task flow config, or a task flow TaskActionDISPLAY = TaskActionType(geen.ActionLAST + iota) // TaskActionRUN : running the flow TaskActionRUN )
const ( FieldTaskFlowREFERENCE g.EntityPropertyID = "taskflow$Reference" LinkTaskFlowCONFIG g.EntityPropertyID = "taskflow$FlowConfig" LinkTaskFlowGROUPS g.EntityPropertyID = "taskflow$Groups" LinkTaskFlowTASKS g.EntityPropertyID = "taskflow$Tasks" LinkTaskFlowLOGS g.EntityPropertyID = "taskflow$Logs" )
Entity property IDs, allowing referencing properties of a given entity type from another entity type
const ( LoadingTASKFLOWTASKS g.LoadingID = "tasks_only" LoadingTASKFLOW4WEB g.LoadingID = "flow_4_web" )
Loading IDs
const ( // FieldTaskGroupACTION g.EntityPropertyID = "taskgroup$Action" LinkTaskGroupGROUPCONFIG g.EntityPropertyID = "taskgroup$GroupConfig" LinkTaskGroupFLOW g.EntityPropertyID = "taskgroup$Flow" LinkTaskGroupTASKS g.EntityPropertyID = "taskgroup$Tasks" )
Entity property IDs, allowing referencing properties of a given entity type from another entity type
const ( // FieldTaskACTION g.EntityPropertyID = "task$Action" LinkTaskTASKCONFIG g.EntityPropertyID = "task$TaskConfig" LinkTaskFLOW g.EntityPropertyID = "task$Flow" LinkTaskGROUP g.EntityPropertyID = "task$Group" LinkTaskDEPENDSON g.EntityPropertyID = "task$DependsOn" LinkTaskNEXTTASKS g.EntityPropertyID = "task$NextTasks" LinkTaskLOGS g.EntityPropertyID = "task$Logs" LinkTaskALLDEPENDSON g.EntityPropertyID = "task$AllDependsOn" LinkTaskALLNEXTTASKS g.EntityPropertyID = "task$AllNextTasks" LinkTaskHEAD g.EntityPropertyID = "task$Head" LinkTaskHEADTASKS g.EntityPropertyID = "task$HeadTasks" LinkTaskTAIL g.EntityPropertyID = "task$Tail" LinkTaskTAILTASKS g.EntityPropertyID = "task$TailTasks" )
Entity property IDs, allowing referencing properties of a given entity type from another entity type
const ( LoadingTASK4WEB g.LoadingID = "task_4_web" LoadingTASKWITHFLOW g.LoadingID = "task_with_flow" LoadingTASK_WITH_INTERVALS g.LoadingID = "task_with_intervals" )
Loading IDs
const ( // FieldTaskLogACTION g.EntityPropertyID = "tasklog$Action" LinkTaskLogTASK g.EntityPropertyID = "tasklog$Task" LinkTaskLogFLOW g.EntityPropertyID = "tasklog$Flow" )
Entity property IDs, allowing referencing properties of a given entity type from another entity type
const (
LoadingGROUPCONF4WEB g.LoadingID = "group_4_web"
)
Loading IDs
Variables ¶
var KindTASK = g.RegisterKind(&Task{}, "")
KindTASK stores the entity kind associated with 'Task' entities
var KindTASKCONFIG = g.RegisterKind(&TaskConfig{}, "")
KindTASKCONFIG stores the entity kind associated with 'TaskConfig' entities
var KindTASKFLOW = g.RegisterKind(&TaskFlow{}, "")
KindTASKFLOW stores the entity kind associated with 'TaskFlow' entities
var KindTASKFLOWCONFIG = g.RegisterKind(&TaskFlowConfig{}, "")
KindTASKFLOWCONFIG stores the entity kind associated with 'TaskFlowConfig' entities
var KindTASKGROUP = g.RegisterKind(&TaskGroup{}, "")
KindTASKGROUP stores the entity kind associated with 'TaskGroup' entities
var KindTASKGROUPCONFIG = g.RegisterKind(&TaskGroupConfig{}, "")
KindTASKGROUPCONFIG stores the entity kind associated with 'EntityTypeMin' entities
var KindTASKLOG = g.RegisterKind(&TaskLog{}, "")
KindTASKLOG stores the entity kind associated with 'TaskLog' entities
var KindTASKPARAMETER = g.RegisterKind(&TaskParameter{}, "")
KindTASKPARAMETER stores the entity kind associated with 'TaskParameter' entities
Functions ¶
func RegisterTaskFunction ¶
func RegisterTaskFunction(functionName TaskFunctionName, function taskFunction)
RegisterTaskFunction : registring a task function
Types ¶
type FlowStatus ¶
type FlowStatus int
FlowStatus is used to define the different statuses a flow can have
const ( // FlowStatusERROR FlowStatus = -2 // the flow cannot go on because of an error somewhere FlowStatusCANCELED FlowStatus = -1 // the flow has been canceled by a user FlowStatusCREATED FlowStatus = 0 // the flow has been created, but never started thus far FlowStatusWAITING FlowStatus = 3 // the flow waits for manual actions FlowStatusONGOING FlowStatus = 5 // the flow is currently running FlowStatusPAUSED FlowStatus = 7 // the flow has been deliberately paused by the user FlowStatusFINISHED FlowStatus = 9 // the flow has all its tasks finished )
The flow statuses
func (FlowStatus) String ¶
func (thisFlowStatus FlowStatus) String() string
func (FlowStatus) Val ¶
func (thisFlowStatus FlowStatus) Val() int
Val helps implement the IEnum interface
func (FlowStatus) Values ¶
func (thisFlowStatus FlowStatus) Values() map[int]string
Values helps implement the IEnum interface
type Task ¶
type Task struct { g.Entity // is a particular kind of geen entity TaskConfig *TaskConfig `db:"taskConfig_id" json:"taskConfig" i*:"the configuration for this task"` Flow *TaskFlow `db:"flow_id" json:"flow" i*:"the flow this task belongs to"` FlowRef string `db:"flowRef,43" json:"flowRef" i*:"the flow's reference"` Group *TaskGroup `db:"group_id" json:"group" i*:"the group this task belongs to"` Num int `db:"num" json:"num" o*:"an arbitrary number for this task within the flow"` Reference string `db:"reference,30" json:"reference" o*:"the task reference, coming from the task config"` GlobalReference string `` /* 136-byte string literal not displayed */ Name string `db:"name,128" json:"name" i*:"the task name, coming from the task config"` FunctionName TaskFunctionName `` /* 135-byte string literal not displayed */ Manual bool `` /* 137-byte string literal not displayed */ DependsOn []*Task `` /* 142-byte string literal not displayed */ NextTasks []*Task `` /* 130-byte string literal not displayed */ IntervalMin float64 `db:"intervalMin,8.4" json:"intervalMin" o*:"the lower border of the interval this tasks is supposed to deal with"` IntervalMax float64 `db:"intervalMax,8.4" json:"intervalMax" o*:"the upper border of the interval this tasks is supposed to deal with"` NbParallelIntervals int `` /* 157-byte string literal not displayed */ CompactView bool `` /* 172-byte string literal not displayed */ Status TaskStatus `db:"status,2" json:"status" o*:"the task's status"` StatusString string `db:"-" json:"statusString" o*:"the task's status as a string"` Started *time.Time `db:"started,6" json:"started" o*:"the starting time of the task"` Updated *time.Time `db:"updated,6" json:"updated" o*:"the time of the last update for this task"` Finished *time.Time `db:"finished,6" json:"finished" o*:"the starting time of the task"` CurrentProgress int `db:"currentProgress" json:"currentProgress" o*:"the last progress we know about"` LastComment string `db:"lastComment,255" json:"lastComment" o*:"the last comment we know about"` Logs []*TaskLog `db:"-" json:"logs" o*:"the logs created during the running of this task"` ETA time.Duration `db:"eta" json:"eta" o*:"the estimated time for completion"` ETAString string `db:"etaString,16" json:"etaString" o*:"the estimated time for completion (string version)"` TotalElapsed string `db:"-" json:"totalElapsed" o*:"the total time spent from start to finish"` AllDependsOn []*Task `db:"-" json:"allDependsOn" in:"all the dependencies, whatever their nature"` AllNextTasks []*Task `db:"-" json:"allNextTasks" in:"all the next tasks, whatever their nature"` Head *Task `db:"head_id" json:"-" i*:"this task's head, when this is an interval task"` HeadTasks []*Task `db:"-" json:"-" o*:"all the tasks that have this task as their head"` Tail *Task `db:"tail_id" json:"-" o*:"this task's tail, when this is an interval task"` TailTasks []*Task `db:"-" json:"-" o*:"all the tasks that have this task as their tail"` // contains filtered or unexported fields }
Task defines the structure of a ????, i.e. properties & links, plus basic methods
func (*Task) BeforeJSON ¶
BeforeJSON can arrange an entity that is going to be marshaled in JSON. This arrangement can vary, depending on how the entity has been loaded.
func (*Task) CanBeUpdated ¶
CanBeUpdated tells us if the given entity can be updated, and if the changes are acceptable or not
func (*Task) ChangeBeforeInsert ¶
ChangeBeforeInsert allows to perform specific treatments on the entity before inserting it
func (*Task) ChangeBeforeUpdate ¶
ChangeBeforeUpdate allows to perform specific treatments on the entity before updating it; The instore entity can help report information on the entity to be updated
func (*Task) DefineLoadingPlan ¶
func (thisTask *Task) DefineLoadingPlan(loadingID g.LoadingID) g.ILoadingPlan
DefineLoadingPlan : build and returns a loading plan for this entity kind and a loading ID
func (*Task) DoAfterRead ¶
DoAfterRead allows to perform some checks or change right after reading an entity What is done to the entity after reading it may depend on how it's loaded
func (*Task) DurationParam ¶
func (thisTask *Task) DurationParam(logger g.ILogger, paramID TaskParameterID, defaultValue time.Duration) time.Duration
DurationParam : getting a boolean parameter's value
func (*Task) GetAllDependsOn ¶
GetAllDependsOn returns the all tasks that this task depends on
func (*Task) GetAllNextTasks ¶
GetAllNextTasks returns
func (*Task) InitSchema ¶
func (thisTask *Task) InitSchema() *g.EntitySchema
InitSchema is used to create a schema, to bear all the meta information about this entity type
func (*Task) LogProgress ¶
func (thisTask *Task) LogProgress(biContext g.BiContext, progress int, commentFmt string, commentArgs ...interface{})
LogProgress allows to indicates how the task is doing during its running; The 'progress' arg must be an integer value between 0 and 100.
func (*Task) NumParam ¶
func (thisTask *Task) NumParam(logger g.ILogger, paramID TaskParameterID, defaultValue float64) float64
NumParam : getting a number parameter's value
func (*Task) StringParam ¶
func (thisTask *Task) StringParam(logger g.ILogger, paramID TaskParameterID, defaultValue string) string
StringParam : getting a string parameter's value
type TaskActionType ¶
type TaskActionType int
TaskActionType is used to define the specific actions on users
func (TaskActionType) GetActionName ¶
func (thisActionType TaskActionType) GetActionName() string
GetActionName returns a task action label
func (TaskActionType) String ¶
func (thisActionType TaskActionType) String() string
func (TaskActionType) Val ¶
func (thisActionType TaskActionType) Val() int
Val helps implement the IEnum interface
func (TaskActionType) Values ¶
func (thisActionType TaskActionType) Values() map[int]string
Values helps implement the IEnum interface
type TaskConfig ¶
type TaskConfig struct { g.Entity // is a particular kind of geen entity Flow *TaskFlowConfig `db:"flow_id" json:"flow" i*:"the flow this task is part of"` Group *TaskGroupConfig `db:"group_id" json:"group" i*:"the group this task belongs to"` Reference string `db:"reference,25" json:"reference" o*:"the task reference"` GlobalReference string `` /* 136-byte string literal not displayed */ Name string `db:"name,82" json:"name" i*:"the task name"` Description string `db:"description,255" json:"description" in:"the task description"` Manual bool `db:"manual" json:"manual" in:"if true, then this task has to be triggered manually"` Intervals string `` /* 219-byte string literal not displayed */ NbParallelIntervals int `` /* 132-byte string literal not displayed */ CompactView bool `` /* 172-byte string literal not displayed */ DependsOn []*TaskConfig `db:"dependsOn" json:"dependsOn" in:"the tasks that must be finished before this one can start"` NextTasks []*TaskConfig `db:"-" json:"nextTasks" in:"this lists the tasks that depends on this one"` Params []*TaskParameter `db:"-" json:"params" in:"the task's parameters"` RunningTasks []*Task `db:"-" json:"runningTasks" o*:"the tasks instantiated from this config"` FunctionName TaskFunctionName `` /* 135-byte string literal not displayed */ // contains filtered or unexported fields }
TaskConfig defines the structure of a ????, i.e. properties & links, plus basic methods
func NewTaskConfig ¶
func NewTaskConfig() *TaskConfig
NewTaskConfig is a shortcut to instantiate a new TaskConfig
func (*TaskConfig) BeforeJSON ¶
func (thisTask *TaskConfig) BeforeJSON(loadingID g.LoadingID) g.IEntity
BeforeJSON can arrange an entity that is going to be marshaled in JSON. This arrangement can vary, depending on how the entity has been loaded.
func (*TaskConfig) ChangeBeforeInsert ¶
func (thisTaskConfig *TaskConfig) ChangeBeforeInsert(biContext g.BiContext) g.Error
ChangeBeforeInsert allows to perform specific treatments on the entity before inserting it
func (*TaskConfig) ChangeBeforeUpdate ¶
func (thisTaskConfig *TaskConfig) ChangeBeforeUpdate(biContext g.BiContext, instore g.IEntity) g.Error
ChangeBeforeUpdate allows to perform specific treatments on the entity before updating it; The instore entity can help report information on the entity to be updated
func (*TaskConfig) DefineLoadingPlan ¶
func (thisTaskConfig *TaskConfig) DefineLoadingPlan(loadingID g.LoadingID) g.ILoadingPlan
DefineLoadingPlan : build and returns a loading plan for this entity kind and a loading ID
func (*TaskConfig) GetIntervals ¶
GetIntervals returns the configuration for "task intervals": a min value, a max, and a step value
func (*TaskConfig) InitSchema ¶
func (thisTaskConfig *TaskConfig) InitSchema() *g.EntitySchema
InitSchema is used to create a schema, to bear all the meta information about this entity type
func (*TaskConfig) IsValid ¶
func (thisTaskConfig *TaskConfig) IsValid(biContext g.BiContext) g.Error
IsValid is the method through which an entity checks its own validity
func (*TaskConfig) Param ¶
func (thisTaskConfig *TaskConfig) Param(paramID TaskParameterID) *TaskParameter
Param : getting this task's param based on its ID
func (*TaskConfig) ScanForLoop ¶
func (thisTaskConfig *TaskConfig) ScanForLoop() g.Error
ScanForLoop checks that in the dependency chain, this task does not end up depending on itself
type TaskFlow ¶
type TaskFlow struct { g.Entity // is a particular kind of geen entity FlowConfig *TaskFlowConfig `db:"flowConfig_id" json:"flowConfig" i*:"the config this flow is based upon"` Name string `db:"name,82" json:"name" o*:"the task flow name, coming from the config"` Reference string `` /* 151-byte string literal not displayed */ ConfigRef string `db:"configRef,24" json:"configRef" o*:"the flow config's reference"` Groups []*TaskGroup `db:"-" json:"groups" o*:"the flow's groups, as configured"` Tasks []*Task `db:"-" json:"tasks" o*:"the flow's tasks, as configured"` Status FlowStatus `db:"status,2" json:"status" o*:"the flow's status"` StatusString string `db:"-" json:"statusString" o*:"the flow's status as a string"` Started *time.Time `db:"started,6" json:"started" o*:"the starting time of the flow"` Finished *time.Time `db:"finished,6" json:"finished" o*:"the starting time of the flow"` MermaidString string `db:"-" json:"mermaidString" o*:"a mermaid JS string representing this flow"` MaxParallelTasks int `` /* 173-byte string literal not displayed */ RefreshViewEvery string `` /* 141-byte string literal not displayed */ RefreshViewEveryNum int64 `db:"-" json:"refreshViewEveryNum" in:"the refreshing period, in seconds"` Logs []*TaskLog `db:"-" json:"logs" o*:"the logs created during the running of this task"` TotalElapsed string `db:"-" json:"totalElapsed" o*:"the total time spent from start to finish"` CustomReference string `` /* 142-byte string literal not displayed */ // contains filtered or unexported fields }
TaskFlow defines the structure of a ????, i.e. properties & links, plus basic methods
func NewTaskFlow ¶
func NewTaskFlow() *TaskFlow
NewTaskFlow is a shortcut to instantiate a new TaskFlow
func (*TaskFlow) BeforeJSON ¶
BeforeJSON can arrange an entity that is going to be marshaled in JSON. This arrangement can vary, depending on how the entity has been loaded.
func (*TaskFlow) DefineLoadingPlan ¶
func (thisTaskFlow *TaskFlow) DefineLoadingPlan(loadingID g.LoadingID) g.ILoadingPlan
DefineLoadingPlan : build and returns a loading plan for this entity kind and a loading ID
func (*TaskFlow) DoAfterRead ¶
DoAfterRead allows to perform some checks or change right after reading an entity What is done to the entity after reading it may depend on how it's loaded
func (*TaskFlow) InitSchema ¶
func (thisTaskFlow *TaskFlow) InitSchema() *g.EntitySchema
InitSchema is used to create a schema, to bear all the meta information about this entity type
type TaskFlowConfig ¶
type TaskFlowConfig struct { g.Entity // is a particular kind of geen entity Reference string `db:"reference,24" json:"reference" i*:"the task flow reference"` Name string `db:"name,82" json:"name" i*:"the task flow name"` Description string `db:"description,255" json:"description" in:"the task flow description"` Groups []*TaskGroupConfig `` /* 135-byte string literal not displayed */ Tasks []*TaskConfig `db:"-" json:"tasks" in:"the tasks contained in this flow"` MermaidString string `db:"-" json:"mermaidString" o*:"a mermaid JS string representing this flow"` RunningFlows []*TaskFlow `db:"-" json:"runningFlows" o*:"the flows created from this config"` TaskNameMaxWitdh int `` /* 167-byte string literal not displayed */ MaxParallelTasks int `` /* 170-byte string literal not displayed */ RefreshViewEvery string `` /* 138-byte string literal not displayed */ }
TaskFlowConfig defines the structure of a ????, i.e. properties & links, plus basic methods
func NewTaskFlowConfig ¶
func NewTaskFlowConfig() *TaskFlowConfig
NewTaskFlowConfig is a shortcut to instantiate a new TaskFlowConfig
func (*TaskFlowConfig) BeforeJSON ¶
func (thisTaskFlowConfig *TaskFlowConfig) BeforeJSON(loadingID g.LoadingID) g.IEntity
BeforeJSON can arrange an entity that is going to be marshaled in JSON. This arrangement can vary, depending on how the entity has been loaded.
func (*TaskFlowConfig) ChangeBeforeInsert ¶
func (thisTaskFlowConfig *TaskFlowConfig) ChangeBeforeInsert(biContext g.BiContext) g.Error
ChangeBeforeInsert allows to perform specific treatments on the entity before inserting it
func (*TaskFlowConfig) ChangeBeforeUpdate ¶
func (thisTaskFlowConfig *TaskFlowConfig) ChangeBeforeUpdate(biContext g.BiContext, instore g.IEntity) g.Error
ChangeBeforeUpdate allows to perform specific treatments on the entity before updating it; The instore entity can help report information on the entity to be updated
func (*TaskFlowConfig) CompleteInfo ¶
func (thisTaskFlowConfig *TaskFlowConfig) CompleteInfo(recursive bool) g.Error
completing the
func (*TaskFlowConfig) DefineLoadingPlan ¶
func (thisTaskFlowConfig *TaskFlowConfig) DefineLoadingPlan(loadingID g.LoadingID) g.ILoadingPlan
DefineLoadingPlan : build and returns a loading plan for this entity kind and a loading ID
func (*TaskFlowConfig) GetGroup ¶
func (thisTaskFlowConfig *TaskFlowConfig) GetGroup(groupGlobalRef string) *TaskGroupConfig
GetGroup : retrieving a group from a flow with its global ref
func (*TaskFlowConfig) GetTask ¶
func (thisTaskFlowConfig *TaskFlowConfig) GetTask(taskGlobalRef string) *TaskConfig
GetTask : retrieving a task from a flow with its global ref
func (*TaskFlowConfig) InitSchema ¶
func (TaskFlowConfig *TaskFlowConfig) InitSchema() *g.EntitySchema
InitSchema is used to create a schema, to bear all the meta information about this entity type
func (*TaskFlowConfig) IsValid ¶
func (thisTaskFlowConfig *TaskFlowConfig) IsValid(biContext g.BiContext) g.Error
IsValid is the method through which an entity checks its own validity
func (*TaskFlowConfig) ScanForLoops ¶
func (thisTaskFlowConfig *TaskFlowConfig) ScanForLoops() g.Error
ScanForLoops : checking we don't have a cycle between tasks in this flow
type TaskFunctionName ¶
type TaskFunctionName string
TaskFunctionName : a task function name allows to uniquely refer to a task functions
type TaskGroup ¶
type TaskGroup struct { g.Entity // is a particular kind of geen entity GroupConfig *TaskGroupConfig `db:"groupConfig_id" json:"groupConfig" i*:"the configuration for this group"` Flow *TaskFlow `db:"flow_id" json:"flow" i*:"the flow this group belongs to"` Reference string `db:"reference,24" json:"reference" i*:"remainder of the group reference, coming from the config"` Name string `db:"name,82" json:"name" i*:"remainder of the group name, coming from the config"` Tasks []*Task `db:"-" json:"tasks" in:"the tasks contained in this group"` }
TaskGroup defines the structure of a ????, i.e. properties & links, plus basic methods
func NewTaskGroup ¶
func NewTaskGroup() *TaskGroup
NewTaskGroup is a shortcut to instantiate a new TaskGroup
func (*TaskGroup) InitSchema ¶
func (thisTaskGroup *TaskGroup) InitSchema() *g.EntitySchema
InitSchema is used to create a schema, to bear all the meta information about this entity type
type TaskGroupConfig ¶
type TaskGroupConfig struct { g.Entity // is a particular kind of geen entity Flow *TaskFlowConfig `db:"flow_id" json:"flow" i*:"the flow this group belongs to"` Reference string `db:"reference,24" json:"reference" i*:"the group reference"` Name string `db:"name,82" json:"name" i*:"the group name"` GlobalReference string `` /* 130-byte string literal not displayed */ Description string `db:"description,255" json:"description" in:"the group description"` Tasks []*TaskConfig `db:"-" json:"tasks" in:"the tasks contained in this group"` RunningGroups []*TaskGroup `db:"-" json:"runningGroups" o*:"the groups instantiated from this config"` }
TaskGroupConfig defines the structure of a ????, i.e. properties & links, plus basic methods
func NewTaskGroupConfig ¶
func NewTaskGroupConfig() *TaskGroupConfig
NewTaskGroupConfig is a shortcut to instantiate a new EntityTypeMin
func (*TaskGroupConfig) ChangeBeforeInsert ¶
func (thisTaskGroupConfig *TaskGroupConfig) ChangeBeforeInsert(biContext g.BiContext) g.Error
ChangeBeforeInsert allows to perform specific treatments on the entity before inserting it
func (*TaskGroupConfig) ChangeBeforeUpdate ¶
func (thisTaskGroupConfig *TaskGroupConfig) ChangeBeforeUpdate(biContext g.BiContext, instore g.IEntity) g.Error
ChangeBeforeUpdate allows to perform specific treatments on the entity before updating it; The instore entity can help report information on the entity to be updated
func (*TaskGroupConfig) DefineLoadingPlan ¶
func (thisTaskGroupConfig *TaskGroupConfig) DefineLoadingPlan(loadingID g.LoadingID) g.ILoadingPlan
DefineLoadingPlan : build and returns a loading plan for this entity kind and a loading ID
func (*TaskGroupConfig) InitSchema ¶
func (thisTaskGroupConfig *TaskGroupConfig) InitSchema() *g.EntitySchema
InitSchema is used to create a schema, to bear all the meta information about this entity type
type TaskLog ¶
type TaskLog struct { g.Entity // is a particular kind of geen entity Flow *TaskFlow `db:"flow_id" json:"flow" o*:"the flow this is a log for"` Task *Task `db:"task_id" json:"task" o*:"the task this is a log for"` TaskRef string `db:"taskRef,30" json:"taskRef" o*:"the task reference, coming from the task config"` TaskName string `db:"taskName,128" json:"taskName" o*:"the task name, coming from the task config"` Progress int `db:"progress" json:"progress" o*:"the percentage of completion of the task when this log is created"` Comment string `db:"comment,255" json:"comment" o*:"the last comment we know about"` Elapsed time.Duration `db:"elapsed" json:"elapsed" o*:"the elapsed time for the task at the time of this log"` ElapsedString string `db:"elapsedString,16" json:"elapsedString" o*:"the elapsed time, as a string"` }
TaskLog defines the structure of a ????, i.e. properties & links, plus basic methods
func (*TaskLog) InitSchema ¶
func (thisTaskLog *TaskLog) InitSchema() *g.EntitySchema
InitSchema is used to create a schema, to bear all the meta information about this entity type
type TaskParameter ¶
type TaskParameter struct { g.Entity // is a particular kind of geen entity Task *TaskConfig `db:"task_id" json:"task" i*:"the task this parameter is for"` ParamID TaskParameterID `db:"paramID,20" json:"paramID" i*:"an ID to uniquely refer to this parameter, within the current task"` Value string `db:"value,128" json:"value" i*:"the parameter value, given as a string"` GlobalReference string `` /* 137-byte string literal not displayed */ }
TaskParameter defines the structure of a ????, i.e. properties & links, plus basic methods
func NewTaskParameter ¶
func NewTaskParameter() *TaskParameter
NewTaskParameter is a shortcut to instantiate a new TaskParameter
func (*TaskParameter) ChangeBeforeInsert ¶
func (thisTaskParameter *TaskParameter) ChangeBeforeInsert(biContext g.BiContext) g.Error
ChangeBeforeInsert allows to perform specific treatments on the entity before inserting it
func (*TaskParameter) ChangeBeforeUpdate ¶
func (thisTaskParameter *TaskParameter) ChangeBeforeUpdate(biContext g.BiContext, instore g.IEntity) g.Error
ChangeBeforeUpdate allows to perform specific treatments on the entity before updating it; The instore entity can help report information on the entity to be updated
func (*TaskParameter) InitSchema ¶
func (thisTaskParameter *TaskParameter) InitSchema() *g.EntitySchema
InitSchema is used to create a schema, to bear all the meta information about this entity type
type TaskStatus ¶
type TaskStatus int
TaskStatus is used to define the different statuses a flow can have
const ( TaskStatusERROR TaskStatus = -2 // the tasks has exited with an error TaskStatusSTANDBY TaskStatus = 0 // the task has been created, but cannot run yet, due to unfinished dependencies TaskStatusONGOING TaskStatus = 5 // the task is currently running TaskStatusFINISHED TaskStatus = 9 // the task has successfully finished )
The flow statuses
func (TaskStatus) String ¶
func (thisTaskStatus TaskStatus) String() string
func (TaskStatus) Val ¶
func (thisTaskStatus TaskStatus) Val() int
Val helps implement the IEnum interface
func (TaskStatus) Values ¶
func (thisTaskStatus TaskStatus) Values() map[int]string
Values helps implement the IEnum interface
Source Files ¶
- config_flow_.go
- config_flow_bi.go
- config_flow_ws.go
- config_group_.go
- config_group_bi.go
- config_group_ws.go
- config_task__.go
- config_task__bi.go
- config_task__fn.go
- config_task__ws.go
- config_task_param_.go
- config_task_param_bi.go
- enum.go
- running_flow_.go
- running_flow_bi_.go
- running_flow_bi_run.go
- running_flow_bi_utils.go
- running_flow_ws.go
- running_group_.go
- running_group_bi.go
- running_task__.go
- running_task__bi_.go
- running_task__bi_build.go
- running_task__bi_params.go
- running_task__bi_run.go
- running_task__bi_update.go
- running_task__bi_utils.go
- running_task__ws.go
- task__no_op.go
- task__start_head.go
- task_log_.go