/// <summary> /// Get Job IDs (Cluster Jobs) /// </summary> /// <param name="responseMessage">Scheduler response message</param> /// <returns></returns> public override IEnumerable <string> GetJobIds(string responseMessage) { List <string> jobIds = new(); LinuxLocalInfo jobsAdapter = JsonSerializer.Deserialize <LinuxLocalInfo>(responseMessage.ToString()); jobsAdapter.Jobs.ForEach(job => jobIds.Add(job.SchedulerJobId)); return(jobIds); }
/// <summary> /// Read Parameters From Response /// </summary> /// <param name="cluster">Cluster</param> /// <param name="response">Scheduler response message</param> /// <returns></returns> public override IEnumerable <SubmittedTaskInfo> ReadParametersFromResponse(Cluster cluster, object response) { List <SubmittedTaskInfo> taskInfos = new(); LinuxLocalInfo jobsAdapter = JsonSerializer.Deserialize <LinuxLocalInfo>(response.ToString()); var allTasks = jobsAdapter.Jobs; taskInfos.AddRange(ConvertTasksToTaskInfoCollection(jobsAdapter, allTasks)); return(taskInfos); }
/// <summary> /// Convert Tasks To TaskInfoCollection /// </summary> /// <param name="jobInfo">Job Clutser DTO</param> /// <param name="allTasks">Task mapped to LinuxLocalJobDTO Collection</param> /// <returns></returns> private List <SubmittedTaskInfo> ConvertTasksToTaskInfoCollection(LinuxLocalInfo jobInfo, List <LinuxLocalJobDTO> allTasks) { List <SubmittedTaskInfo> taskCollection = new(); foreach (var taskAdapter in allTasks) { taskAdapter.CreationTime = jobInfo.CreateTime; taskAdapter.SubmitTime = jobInfo.SubmitTime ?? default; taskCollection.Add(ConvertTaskToTaskInfo(taskAdapter)); } return(taskCollection); }