/// <summary> /// True if job is finished, false if not, or unknown. /// </summary> /// <param name="status">Job status.</param> /// <returns>True if the job is no longer running.</returns> public static bool JobIsFinished(ClusterJobStatus status) { switch (status) { case ClusterJobInformation.ClusterJobStatus.Failed: case ClusterJobInformation.ClusterJobStatus.Succeeded: case ClusterJobInformation.ClusterJobStatus.Cancelled: return(true); case ClusterJobInformation.ClusterJobStatus.Running: case ClusterJobInformation.ClusterJobStatus.Unknown: return(false); default: throw new InvalidDataException("Invalid job status " + status); } }
/// <summary> /// Create a cluster job structure from a bunch of information. /// </summary> /// <param name="cluster">Cluster where the job is running.</param> /// <param name="clusterJobGuid">Cluster job guid.</param> /// <param name="jobName">Name of the cluster job.</param> /// <param name="username">User who submitted cluster job.</param> /// <param name="date">Last execution of cluster job.</param> /// <param name="status">Execution status.</param> /// <param name="runningTime">Time the job ran.</param> /// <param name="virtualCluster">Cluster where the job has run.</param> public ClusterJobInformation( string cluster, string virtualCluster, string clusterJobGuid, string jobName, string username, DateTime date, TimeSpan runningTime, ClusterJobStatus status) { this.VirtualCluster = virtualCluster; this.Cluster = cluster; this.ClusterJobID = clusterJobGuid; this.Name = jobName; this.User = username; this.Date = date; this.EstimatedRunningTime = runningTime; this.Status = status; this.JobSummary = null; }