func()

in flow/engine.go [70:83]


func (e *Engine) Transition(ctx context.Context, param *WorkflowParam) error {
	metrics.Inc(constants.MetricsEngine, constants.MetricsTransitionRequest)
	r, err := e.workflowDAL.SelectTransitionTask(ctx, model.WorkflowTaskInstance{WorkflowID: param.ID,
		WorkflowInstanceID: param.InstanceID, TaskInstanceID: param.TaskInstanceID,
		Status: constants.TaskInstanceSleepStatus})
	if err != nil {
		return err
	}
	if r == nil {
		return nil
	}
	r.Status = constants.TaskInstanceWaitStatus
	return e.queue.Publish([]*model.WorkflowTaskInstance{r})
}