func()

in internal/schedule/inline_scheduler.go [117:132]


func (s *inlineScheduler) fetchTask(tx *gorm.DB) (*model.WorkflowTaskInstance, error) {
	var err error
	res, err := s.workflowDAL.SelectTaskInstance(context.Background(),
		model.WorkflowTaskInstance{Status: constants.TaskInstanceWaitStatus})
	if err != nil {
		return nil, err
	}
	if res == nil {
		return nil, nil
	}
	if err = s.workflowDAL.UpdateTaskInstance(tx, &model.WorkflowTaskInstance{ID: res.ID,
		Status: constants.TaskInstanceProcessStatus}); err != nil {
		return nil, err
	}
	return res, nil
}