示例#1
0
        private static void StartNewTaskSteps()
        {
            int newTaskStepCount = GetIdleRunningCount();

            if (newTaskStepCount > 0)
            {
                List <Task_Step> steps = TaskDataProcessor.GetWaitingStepsInRunningTasks(newTaskStepCount);
                newTaskStepCount = newTaskStepCount - steps.Count;
                if (newTaskStepCount > 0)
                {
                    List <Task_Step> stepsInWaitingTasks = TaskDataProcessor.GetWaitingStepsInWaitingTasks(newTaskStepCount);
                    steps.AddRange(stepsInWaitingTasks);
                }

                foreach (Task_Step step in steps)
                {
                    try
                    {
                        TaskManager.AddCurrentTask(step.Id, step.TaskId);

                        TaskDataProcessor.UpdateDataAfterBeginStep(step.Id, step.TaskId);

                        TaskManager.RunningContainer.InvokeRunTask(step.GroupName, step.ProjectName, step.ListFilePath, step.InputDir, step.MiddleDir, step.OutputDir, step.Parameters, step.Id, true, false);
                    }
                    catch (Exception ex)
                    {
                        TaskDataProcessor.UpdateDataAfterEndStep(step.Id, step.TaskId, false, ex.Message);
                        continue;
                    }
                }
            }
        }
示例#2
0
 public static void ExportGrabResultFlag(string stepId, string projectName, bool succeed, string msg)
 {
     if (stepId != null && stepId.Length != 0)
     {
         string taskId = CurrentTaskSteps[stepId];
         TaskDataProcessor.UpdateDataAfterEndStep(stepId, taskId, succeed, msg);
         TaskManager.RemoveCurrentTask(stepId);
     }
 }