mirror of
https://gitee.com/mirrors/AllinSSL.git
synced 2026-03-08 07:41:10 +08:00
Add files via upload
This commit is contained in:
33
backend/internal/workflow/context.go
Normal file
33
backend/internal/workflow/context.go
Normal file
@@ -0,0 +1,33 @@
|
||||
package workflow
|
||||
|
||||
import "ALLinSSL/backend/public"
|
||||
|
||||
func NewExecutionContext(RunID string) *ExecutionContext {
|
||||
Logger, _ := public.NewLogger(public.GetSettingIgnoreError("workflow_log_path") + RunID + ".log")
|
||||
return &ExecutionContext{
|
||||
Data: make(map[string]any),
|
||||
Status: make(map[string]ExecutionStatus),
|
||||
RunID: RunID,
|
||||
Logger: Logger,
|
||||
}
|
||||
}
|
||||
|
||||
func (ctx *ExecutionContext) SetOutput(nodeID string, output any, status ExecutionStatus) {
|
||||
ctx.mu.Lock()
|
||||
defer ctx.mu.Unlock()
|
||||
ctx.Data[nodeID] = output
|
||||
ctx.Status[nodeID] = status
|
||||
}
|
||||
|
||||
func (ctx *ExecutionContext) GetOutput(nodeID string) (any, bool) {
|
||||
ctx.mu.RLock()
|
||||
defer ctx.mu.RUnlock()
|
||||
out, ok := ctx.Data[nodeID]
|
||||
return out, ok
|
||||
}
|
||||
|
||||
func (ctx *ExecutionContext) GetStatus(nodeID string) ExecutionStatus {
|
||||
ctx.mu.RLock()
|
||||
defer ctx.mu.RUnlock()
|
||||
return ctx.Status[nodeID]
|
||||
}
|
||||
Reference in New Issue
Block a user