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
}