Skip to content

Commit

Permalink
fix: workflow err
Browse files Browse the repository at this point in the history
  • Loading branch information
Xinmin Du committed Jun 6, 2024
1 parent 7763802 commit ec12cfb
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 7 deletions.
23 changes: 19 additions & 4 deletions pkg/controller/controllers/workflow_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -136,10 +136,21 @@ func (this *WorkflowController) execNextNode(job api.Job) {

// deal with ret result
var result []interface{}
if err := json.Unmarshal([]byte(job.Result), &result); err != nil {
log.Error("Error unmarshaling Result: %s", err.Error())
this.errorEnd(job.JobID, "Error unmarshaling Result in function "+workflowStatus.currNode.Function.Name)
return
trimmedResult := strings.TrimSpace(job.Result)
if strings.HasPrefix(trimmedResult, "[") {
// Handle as JSON array
if err := json.Unmarshal([]byte(trimmedResult), &result); err != nil {
log.Error("Error unmarshaling Result: %s", err.Error())
return
}
} else {
// Handle as single string
var singleResult string
if err := json.Unmarshal([]byte(trimmedResult), &singleResult); err != nil {
log.Error("Error unmarshaling single Result: %s", err.Error())
return
}
result = append(result, singleResult)
}
result_str := function_util.ConvertToStringList(result)
resWithName, _ := function_util.CheckParams(workflowStatus.retRes, result_str)
Expand Down Expand Up @@ -198,6 +209,10 @@ func (this *WorkflowController) execNextNode(job api.Job) {
}

func (this *WorkflowController) errorEnd(jobUUID string, err string) {
if this.jobList[jobUUID] == nil {
log.Error("Can't find workflow uuid by job uuid: %s", jobUUID)
return
}
updateResult([]string{"Error", err}, this.jobList[jobUUID])
delete(this.jobList, jobUUID)
}
Expand Down
5 changes: 3 additions & 2 deletions testdata/workflow1/OrderFailed.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
apiVersion: v1
kind: Function
metadata:
name: OrderSucceeded
name: OrderFailed
language: python
filePath: /root/minik8s/testdata/workflow1/OrderFailed/
triggerType:
Expand All @@ -13,4 +13,5 @@ params:
type: string
result:
- name: result
type: string
type: string
# etcdctl put /trigger/default/BuyTrainTicket {\"x\":1000} --endpoints=192.168.3.8:2379
2 changes: 1 addition & 1 deletion yaml/trigger.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ kind: Trigger
spec:
type: etcdTrigger
functionNamespace: default
functionName: matrix-calculate
functionName: BuyTrainTicket

0 comments on commit ec12cfb

Please sign in to comment.