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; } } } }
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); } }