public static string CreateTask(Task_Main task) { TaskDataProcessor processor = new TaskDataProcessor(); processor.Task = task; return((string)SqliteHelper.MainDbHelper.RunTransaction(new SqliteHelper.RunTransactionDelegate(processor.InsertTaskToDBTransaction))); }
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 XmlDocument CreateTask(string requestInfo) { XmlDocument requestDoc = new XmlDocument(); requestDoc.LoadXml(requestInfo); XmlElement rootNode = requestDoc.DocumentElement; Task_Main task = new Task_Main(); task.Description = rootNode.GetAttribute("description"); task.Level = int.Parse(rootNode.GetAttribute("level")); task.Name = rootNode.GetAttribute("name"); task.SerialNumber = rootNode.GetAttribute("serialNumber"); XmlNodeList allStepNodes = rootNode.SelectSingleNode("steps").SelectNodes("step"); List <Task_Step> allSteps = new List <Task_Step>(); foreach (XmlElement stepNode in allStepNodes) { Task_Step step = new Task_Step(); step.GroupName = stepNode.GetAttribute("groupName"); step.ProjectName = stepNode.GetAttribute("projectName"); step.ListFilePath = stepNode.GetAttribute("listFilePath"); step.InputDir = stepNode.GetAttribute("inputDir"); step.MiddleDir = stepNode.GetAttribute("middleDir"); step.OutputDir = stepNode.GetAttribute("outputDir"); step.Parameters = stepNode.GetAttribute("parameters"); step.RunIndex = int.Parse(stepNode.GetAttribute("runIndex")); allSteps.Add(step); } task.AllSteps = allSteps; String taskId = TaskDataProcessor.CreateTask(task); return(this.GetDetailInfoByTaskIdValue(taskId)); }
public static bool DeleteTask(string taskId) { TaskDataProcessor processor = new TaskDataProcessor(); processor.Task = new Task_Main(); processor.Task.Id = taskId; return((bool)SqliteHelper.MainDbHelper.RunTransaction(processor.DeleteTaskTransaction)); }
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); } }
public static bool ChangeTaskLevel(string taskId, int newLevel) { TaskDataProcessor processor = new TaskDataProcessor(); processor.Task = new Task_Main(); processor.Task.Id = taskId; processor.Task.Level = newLevel; return((bool)SqliteHelper.MainDbHelper.RunTransaction(processor.ChangeTaskLevelTransaction)); }
public static void UpdateDataAfterBeginStep(string stepId, string taskId) { TaskDataProcessor processor = new TaskDataProcessor(); processor.Step = new Task_Step(); processor.Step.Id = stepId; processor.Step.TaskId = taskId; processor.Step.StatusType = TaskStatusType.Running; SqliteHelper.MainDbHelper.RunTransaction(processor.UpdateDataAfterBeginStep); }
public static void UpdateDataAfterEndStep(string stepId, string taskId, bool succeed, string message) { TaskDataProcessor processor = new TaskDataProcessor(); processor.Step = new Task_Step(); processor.Step.Id = stepId; processor.Step.TaskId = taskId; processor.Step.StatusType = succeed ? TaskStatusType.Succeed : TaskStatusType.Error; processor.Step.Message = message; SqliteHelper.MainDbHelper.RunTransaction(processor.UpdateDataAfterEndStep); }
public XmlDocument GetDetailInfoByTaskIdValue(string taskId) { //根据任务Id获取任务步骤信息 Dictionary <string, object> taskInfo = TaskDataProcessor.GetDetailInfoByTaskId(taskId); XmlDocument resultDoc = new XmlDocument(); resultDoc.LoadXml("<?xml version=\"1.0\" encoding=\"utf-8\" ?><result></result>"); XmlElement resultRootNode = resultDoc.DocumentElement; resultRootNode.SetAttribute("code", "000"); Task_Main task = (Task_Main)taskInfo["task"]; resultRootNode.SetAttribute("createTime", task.CreateTime == null ? "" : ((DateTime)task.CreateTime).ToString("yyyy-MM-dd HH:mm:ss")); resultRootNode.SetAttribute("description", task.Description); resultRootNode.SetAttribute("id", task.Id); resultRootNode.SetAttribute("level", task.Level.ToString()); resultRootNode.SetAttribute("name", task.Name); resultRootNode.SetAttribute("serialNumber", task.SerialNumber); resultRootNode.SetAttribute("statusType", task.StatusType.ToString()); List <Task_Step> steps = (List <Task_Step>)taskInfo["steps"]; XmlElement stepListNode = resultDoc.CreateElement("steps"); resultRootNode.AppendChild(stepListNode); foreach (Task_Step step in steps) { XmlElement stepNode = resultDoc.CreateElement("step"); stepNode.SetAttribute("endTime", step.EndTime == null ? "" : ((DateTime)step.EndTime).ToString("yyyy-MM-dd HH:mm:ss")); stepNode.SetAttribute("message", step.Message); stepNode.SetAttribute("id", step.Id); stepNode.SetAttribute("listFilePath", step.ListFilePath); stepNode.SetAttribute("inputDir", step.InputDir); stepNode.SetAttribute("middleDir", step.MiddleDir); stepNode.SetAttribute("outputDir", step.OutputDir); stepNode.SetAttribute("parameters", step.Parameters); stepNode.SetAttribute("groupName", step.GroupName); stepNode.SetAttribute("projectName", step.ProjectName); stepNode.SetAttribute("runIndex", step.RunIndex.ToString()); stepNode.SetAttribute("startTime", step.StartTime == null ? "" : ((DateTime)step.StartTime).ToString("yyyy-MM-dd HH:mm:ss")); stepNode.SetAttribute("statusType", step.StatusType.ToString()); stepNode.SetAttribute("taskId", step.TaskId); stepListNode.AppendChild(stepNode); } return(resultDoc); }
public XmlDocument DeleteTask(string requestInfo) { XmlDocument requestDoc = new XmlDocument(); requestDoc.LoadXml(requestInfo); XmlElement rootNode = requestDoc.DocumentElement; string taskId = rootNode.GetAttribute("taskId"); TaskDataProcessor.DeleteTask(taskId); XmlDocument resultDoc = new XmlDocument(); resultDoc.LoadXml("<?xml version=\"1.0\" encoding=\"utf-8\" ?><result></result>"); XmlElement resultRootNode = resultDoc.DocumentElement; resultRootNode.SetAttribute("code", "000"); return(resultDoc); }
public XmlDocument ChangeTaskLevel(string requestInfo) { XmlDocument requestDoc = new XmlDocument(); requestDoc.LoadXml(requestInfo); XmlElement rootNode = requestDoc.DocumentElement; string taskId = rootNode.GetAttribute("taskId"); int newLevel = int.Parse(rootNode.GetAttribute("newLevel")); TaskDataProcessor.ChangeTaskLevel(taskId, newLevel); XmlDocument resultDoc = new XmlDocument(); resultDoc.LoadXml("<?xml version=\"1.0\" encoding=\"utf-8\" ?><result></result>"); XmlElement resultRootNode = resultDoc.DocumentElement; resultRootNode.SetAttribute("code", "000"); return(resultDoc); }
public XmlDocument GetTaskList(string requestInfo) { //可获取未执行、正在执行的、已经执行的任务列表 //根据任务Id获取任务步骤信息 XmlDocument requestDoc = new XmlDocument(); requestDoc.LoadXml(requestInfo); XmlElement rootNode = requestDoc.DocumentElement; int pageIndex = int.Parse(rootNode.GetAttribute("pageIndex")); int onePageCount = int.Parse(rootNode.GetAttribute("onePageCount")); List <Task_Main> tasks = TaskDataProcessor.GetTaskList(pageIndex, onePageCount); XmlDocument resultDoc = new XmlDocument(); resultDoc.LoadXml("<?xml version=\"1.0\" encoding=\"utf-8\" ?><result></result>"); XmlElement resultRootNode = resultDoc.DocumentElement; resultRootNode.SetAttribute("code", "000"); XmlElement taskListNode = resultDoc.CreateElement("tasks"); resultRootNode.AppendChild(taskListNode); foreach (Task_Main task in tasks) { XmlElement taskNode = resultDoc.CreateElement("task"); taskNode.SetAttribute("createTime", task.CreateTime == null ? "" : ((DateTime)task.CreateTime).ToString("yyyy-MM-dd HH:mm:ss")); taskNode.SetAttribute("description", task.Description); taskNode.SetAttribute("id", task.Id); taskNode.SetAttribute("level", task.Level.ToString()); taskNode.SetAttribute("name", task.Name); taskNode.SetAttribute("serialNumber", task.SerialNumber); taskNode.SetAttribute("statusType", task.StatusType.ToString()); taskListNode.AppendChild(taskNode); } return(resultDoc); }
private static void ResetRunningSteps() { TaskDataProcessor.ResetRunningSteps(); }
public static List <Task_Step> GetWaitingStepsInWaitingTasks(int count) { TaskDataProcessor processor = new TaskDataProcessor(); return(processor.GetWaitingStepsInTasks(count, TaskStatusType.Waiting)); }