コード例 #1
0
        /// <summary>
        /// Convert submitted task to object for extended usage reporting
        /// </summary>
        /// <param name="task">Task</param>
        /// <param name="job">Job</param>
        /// <returns></returns>
        internal static SubmittedTaskInfoExtendedUsageReport ConvertToExtendedUsageReport(this SubmittedTaskInfo task, SubmittedJobInfo job)
        {
            var taskInfoExtendedUsageReport = new SubmittedTaskInfoExtendedUsageReport
            {
                Id                = task.Id,
                Name              = task.Name,
                JobId             = job.Id,
                JobName           = job.Name,
                Project           = job.Project,
                Priority          = task.Priority,
                State             = task.State,
                CpuHyperThreading = task.CpuHyperThreading ?? false,
                ScheduledJobId    = task.ScheduledJobId,
                CommandTemplateId = task.Specification.CommandTemplate.Id,
                AllocatedTime     = task.AllocatedTime,
                StartTime         = task.StartTime,
                Usage             = CalculateUsedResourcesForTask(task),
                EndTime           = task.EndTime
            };

            return(taskInfoExtendedUsageReport);
        }
コード例 #2
0
        public static SubmittedTaskInfoExtendedUsageReportExt ConvertIntToExt(this SubmittedTaskInfoExtendedUsageReport taskInfo)
        {
            var taskInfoExtendedUsageReportExt = new SubmittedTaskInfoExtendedUsageReportExt
            {
                Id                = taskInfo.Id,
                Name              = taskInfo.Name,
                JobId             = taskInfo.JobId,
                JobName           = taskInfo.JobName,
                Project           = taskInfo.Project,
                Priority          = taskInfo.Priority.ConvertIntToExt(),
                State             = taskInfo.State.ConvertIntToExt(),
                CpuHyperThreading = taskInfo.CpuHyperThreading ?? false,
                CommandTemplateId = taskInfo.CommandTemplateId,
                ScheduledJobId    = taskInfo.ScheduledJobId,
                AllocatedTime     = taskInfo.AllocatedTime,
                CorehoursUsage    = taskInfo.Usage,
                StartTime         = taskInfo.StartTime,
                EndTime           = taskInfo.EndTime
            };

            return(taskInfoExtendedUsageReportExt);
        }