MCPcopy Create free account
hub / github.com/crossjoin-io/crossjoin / ScheduleTask

Method ScheduleTask

api/workflows.go:98–124  ·  view source on GitHub ↗
(workflowRunID string, workflowTaskID string, input map[string]interface{})

Source from the content-addressed store, hash-verified

96}
97
98func (api *API) ScheduleTask(workflowRunID string, workflowTaskID string, input map[string]interface{}) error {
99 taskID, err := uuid.NewRandom()
100 if err != nil {
101 return err
102 }
103
104 workflow, err := api.GetWorkflowFromWorkflowRunID(workflowRunID)
105 if err != nil {
106 return err
107 }
108 taskDef := workflow.Tasks[workflowTaskID]
109 taskInput := taskDef.With
110 if taskInput == nil {
111 taskInput = map[string]interface{}{}
112 }
113 for k, v := range input {
114 taskInput[k] = v
115 }
116
117 marshaledTaskInput, err := json.Marshal(taskInput)
118 if err != nil {
119 return err
120 }
121 _, err = api.db.Exec(`insert into tasks (id, workflow_run_id, workflow_task_id, input, created_at) values
122 ($1, $2, $3, $4, datetime('now'))`, taskID.String(), workflowRunID, workflowTaskID, marshaledTaskInput)
123 return err
124}

Callers 2

postTasksResultMethod · 0.95
StartWorkflowMethod · 0.95

Calls 2

StringMethod · 0.45

Tested by

no test coverage detected