public static GalaxyJobStatus String2JobStatus(string strJobStatus) { GalaxyJobStatus jobStatus = GalaxyJobStatus.Unknown; if (strJobStatus == "Queued") { jobStatus = GalaxyJobStatus.Queued; } else if (strJobStatus == "Waiting") { jobStatus = GalaxyJobStatus.Waiting; } else if (strJobStatus == "Running") { jobStatus = GalaxyJobStatus.Running; } else if (strJobStatus == "Successful") { jobStatus = GalaxyJobStatus.Successful; } else if (strJobStatus == "Failed") { jobStatus = GalaxyJobStatus.Failed; } return(jobStatus); }
public static string JobStatus2String(GalaxyJobStatus jobStatus) { string strJobStatus = ""; switch (jobStatus) { case GalaxyJobStatus.Unknown: strJobStatus = "Unknown"; break; case GalaxyJobStatus.Waiting: strJobStatus = "Waiting"; break; case GalaxyJobStatus.Queued: strJobStatus = "Queued"; break; case GalaxyJobStatus.Running: strJobStatus = "Running"; break; case GalaxyJobStatus.Successful: strJobStatus = "Successful"; break; case GalaxyJobStatus.Failed: strJobStatus = "Failed"; break; } return(strJobStatus); }
/// <returns> /// 0 - successfully /// -1 - failed /// </returns> public int LoadFromFile(string strJobFileName) { int iRet = 0; try { XmlDocument jobDoc = new XmlDocument(); jobDoc.Load(strJobFileName); XmlElement root = jobDoc.DocumentElement; XmlNodeList jobNodeList = root.SelectNodes("GalaxyJob"); foreach (XmlNode jobNode in jobNodeList) { XmlNode jobNameNode = jobNode.SelectSingleNode("JobName"); string strJobName = jobNameNode.InnerText.Trim(); XmlNode jobInstanceNameNode = jobNode.SelectSingleNode("PNInstanceName"); string strPNInstanceName = jobInstanceNameNode.InnerText.Trim(); XmlNode jobIdNode = jobNode.SelectSingleNode("JobId"); Guid jobId = new Guid(jobIdNode.InnerText.Trim()); XmlNode jobStatusNode = jobNode.SelectSingleNode("JobStatus"); GalaxyJobStatus jobStatus = GalaxyJob.String2JobStatus(jobStatusNode.InnerText.Trim()); XmlNode exeNameNode = jobNode.SelectSingleNode("ExeFileName"); string strExeFileName = exeNameNode.InnerText.Trim(); XmlNode relPathNode = jobNode.SelectSingleNode("RelativePath"); string strRelativePath = relPathNode.InnerText.Trim(); XmlNode argsNode = jobNode.SelectSingleNode("Arguments"); string strArgs = argsNode.InnerText.Trim(); XmlNode dataRootDirNode = jobNode.SelectSingleNode("DataRootDir"); string strProjectDataRootDir = dataRootDirNode.InnerText.Trim(); XmlNode userNameNode = jobNode.SelectSingleNode("UserName"); string strUserName = userNameNode.InnerText.Trim(); XmlNode autoReportStatusNode = jobNode.SelectSingleNode("AutoReportStatus"); bool fAutoReportStatus = bool.Parse(autoReportStatusNode.InnerText.Trim()); XmlNode allowLongIdleTimeNode = jobNode.SelectSingleNode("AllowLongIdleTime"); bool fAllowLongIdleTime = bool.Parse(allowLongIdleTimeNode.InnerText.Trim()); XmlNode outputDirNode = jobNode.SelectSingleNode("OutputBaseDir"); string strOutputBaseDir = outputDirNode.InnerText.Trim(); // Get resource file list XmlNode resourceFilesNode = jobNode.SelectSingleNode("ResourceFiles"); XmlNodeList resourceFileNodeList = resourceFilesNode.SelectNodes("ResourceFile"); List <ResourceFilePair> resourceFileList = new List <ResourceFilePair>(); foreach (XmlNode resourceFileNode in resourceFileNodeList) { XmlNode srcFileNode = resourceFileNode.SelectSingleNode("SrcFileName"); XmlNode dstRelFileNode = resourceFileNode.SelectSingleNode("DstRelativeFileName"); ResourceFilePair resourceFile = new ResourceFilePair(srcFileNode.InnerText.Trim(), dstRelFileNode.InnerText.Trim()); resourceFileList.Add(resourceFile); } // Get dependent jobs XmlNode dependentJobsNode = jobNode.SelectSingleNode("DependentJobs"); XmlNodeList dependentJobNodeList = dependentJobsNode.SelectNodes("DependentJob"); List <string> dependentJobs = new List <string>(); foreach (XmlNode dependentJobNode in dependentJobNodeList) { string strDependentJobName = dependentJobNode.InnerText.Trim(); dependentJobs.Add(strDependentJobName); } if (m_jobDictRefByJobName.ContainsKey(strJobName)) { return(-1); } else { GalaxyJob job = new GalaxyJob(); job.AllowLongIdleTime = fAllowLongIdleTime; job.Arguments = strArgs; job.AutoReportStatus = fAutoReportStatus; job.DependentJobs = dependentJobs; job.ExeFileName = strExeFileName; job.JobId = jobId; job.JobStatus = jobStatus; job.OutputBaseDir = strOutputBaseDir; job.PNInstanceName = strPNInstanceName; job.RelativePath = strRelativePath; job.ResourceFileList = resourceFileList; job.JobName = strJobName; job.UserName = strUserName; job.ProjectDataRootDir = strProjectDataRootDir; AddJob(job); } } } catch (Exception) { iRet = -1; } return(iRet); }
public GalaxyJobStatusInfo(GalaxyJobStatus jobStatus, string strOutputBaseDir) { m_jobStatus = jobStatus; m_strOutputBaseDir = strOutputBaseDir; }