Documentation
¶
Index ¶
- Constants
- func DeleteFlow(tag string) (bool, error)
- func HealthCheck() bool
- func Load() error
- func Rollback(instanceId string) (et.Json, error)
- func Run(instanceId, tag string, startId int, ctx et.Json) (et.Json, error)
- type Flow
- func (s *Flow) Consistency(consistency TpConsistency) *Flow
- func (s *Flow) IfElse(expression string, yesGoTo int, noGoTo int) *Flow
- func (s *Flow) Resilence(totalAttempts int, timeAttempts, retentionTime time.Duration) *Flow
- func (s *Flow) Rollback(fn FnContext) *Flow
- func (s *Flow) Run(instanceId string, startId int, ctx et.Json) (et.Json, error)
- func (s *Flow) Step(name, description string, fn FnContext, stop bool) *Flow
- func (s *Flow) ToJson() et.Json
- type FlowStatus
- type FnContext
- type Result
- type Step
- type TpConsistency
- type WorkFlows
- func (s *WorkFlows) DeleteFlow(tag string) bool
- func (s *WorkFlows) HealthCheck() bool
- func (s *WorkFlows) NewFlow(tag, version, name, description string, fn FnContext, createdBy string) *Flow
- func (s *WorkFlows) Rollback(instanceId string) (et.Json, error)
- func (s *WorkFlows) Run(instanceId, tag string, startId int, ctx et.Json) (et.Json, error)
Constants ¶
View Source
const ( FlowStatusPending FlowStatus = "pending" FlowStatusRunning FlowStatus = "running" FlowStatusDone FlowStatus = "done" FlowStatusFailed FlowStatus = "failed" TpConsistencyStrong TpConsistency = "strong" TpConsistencyEventual TpConsistency = "eventual" EVENT_WORKFLOW_SET = "workflow:set" EVENT_WORKFLOW_DELETE = "workflow:delete" EVENT_WORKFLOW_STATUS = "workflow:status" )
View Source
const ( MSG_FLOW_CREATED = "Flujo creado Tag:%s version:%s name:%s" MSG_START_WORKFLOW = "Start the workflow" MSG_INSTANCE_FAILED = "Instance fallido:%s Tag:%s status:%s, step:%d error:%s" MSG_INSTANCE_STATUS = "Instance:%s Tag:%s status:%s, step:%d" MSG_INSTANCE_GOTO = "Instance %s Tag:%s ir al step:%d, message:%s" MSG_INSTANCE_ALREADY_DONE = "flow already done" MSG_INSTANCE_ALREADY_RUNNING = "flow already running" MSG_INSTANCE_PENDING = "flow is pending" MSG_INSTANCE_WORKFLOWS_IS_NIL = "workFlows is nil" MSG_ID_REQUIRED = "id is required" MSG_INSTANCE_EXPRESSION_TRUE = "Resultado de la expresion es true" MSG_INSTANCE_EXPRESSION_FALSE = "Resultado de la expresion es false" MSG_INSTANCE_ROLLBACK = "Esta intentando hacer rollback de un step que no existe" MSG_INSTANCE_ROLLBACK_STEP = "haciendo rollback del step:%d" MSG_INSTANCE_STEP_CREATED = "Step creado:%d name:%s Tag:%s" MSG_INSTANCE_ROLLBACK_CREATED = "Rollback creado:%d name:%s Tag:%s" MSG_INSTANCE_ROLLBACK_FAILED = "Rollback Instance:%s Tag:%s status:%s, step:%d error:%s" MSG_INSTANCE_CONSISTENCY = "Consistencia definida Tag:%s consistency:%s" MSG_INSTANCE_RESILIENCE = "Resilencia definida Tag:%s totalAttempts:%d timeAttempts:%s retentionTime:%s" MSG_INSTANCE_IFELSE = "IfElse definido step:%d name:%s expresion:%s ? %d : %d Tag:%s" )
Variables ¶
This section is empty.
Functions ¶
func DeleteFlow ¶
* * DeleteFlow * @param tag string * @return (bool, error) *
Types ¶
type Flow ¶
type Flow struct {
Tag string `json:"tag"`
Version string `json:"version"`
Name string `json:"name"`
Description string `json:"description"`
Current int `json:"current"`
TotalAttempts int `json:"total_attempts"`
TimeAttempts time.Duration `json:"time_attempts"`
RetentionTime time.Duration `json:"retention_time"`
Ctx et.Json `json:"ctx"`
Steps []*Step `json:"steps"`
Ctxs map[int]et.Json `json:"ctxs"`
Results map[int]Result `json:"results"`
Rollbacks map[int]Result `json:"rollbacks"`
LastRollback int `json:"last_rollback"`
TpConsistency TpConsistency `json:"tp_consistency"`
Id string `json:"id"`
CreatedAt time.Time `json:"created_at"`
UpdatedAt time.Time `json:"updated_at"`
DoneAt time.Time `json:"done_at"`
Status FlowStatus `json:"status"`
CreatedBy string `json:"created_by"`
WorkerHost string `json:"worker_host"`
// contains filtered or unexported fields
}
func New ¶
* * New * @param tag, version, name, description string, fn FnContext, createdBy string * @return *Flow *
func (*Flow) Consistency ¶
func (s *Flow) Consistency(consistency TpConsistency) *Flow
* * Consistency * @param consistency TpConsistency * @return *Flow *
func (*Flow) IfElse ¶
* * IfElse * @param expression string, yesGoTo int, noGoTo int * @return *Flow, error *
func (*Flow) Resilence ¶
* * Resilence * @param totalAttempts int, timeAttempts, retentionTime time.Duration * @return *Flow *
func (*Flow) Run ¶
* * Run * @param instanceId string, startId int, ctx et.Json * @return et.Json, error *
type FlowStatus ¶
type FlowStatus string
type Step ¶
type Step struct {
Name string `json:"name"`
Description string `json:"description"`
Stop bool `json:"stop"`
Expression string `json:"expression"`
YesGoTo int `json:"yes_go_to"`
NoGoTo int `json:"no_go_to"`
// contains filtered or unexported fields
}
type TpConsistency ¶
type TpConsistency string
type WorkFlows ¶
type WorkFlows struct {
Flows map[string]*Flow `json:"flows"`
Instance map[string]*Flow `json:"instance"`
}
func (*WorkFlows) DeleteFlow ¶
* * DeleteFlow * @param tag string * @return bool *
func (*WorkFlows) HealthCheck ¶
* * HealthCheck * @return bool *
Click to show internal directories.
Click to hide internal directories.