java
2021-12-20 17:07:44 0 举报
java
作者其他创作
大纲/内容
servcie层
mapper层
return new WaitingJobQuotaStatus
return realTimeQueueStatus;
返回队列资源情况
统计资源接口
获取团队实时资源情况RealTimeQueueStatus getRealtimeQueueStatus(RealTimeCostReq realTimeCostReq);
判断是否符合条件返回True或false
获取waiting作业现状WaitingJobQuotaStatus getWaitingJobQuotaStatus();
调用队列信息算上申请量,队列资源使用未超限queueInfoService.getClusterQueueQuota(queue.getName());
等待作业资源BaseResponse<WaitingJobQuotaStatus> getWaitingJobQuotaStatus()
判断作业是否可以调度BaseResponse<QueueResourceResponse> determineDoSchedule(@Valid QueueResourceRequest waitingJobInfo)
impl实现
根据当前资源使用情况,判断作业是否可以被调度QueueResourceResponse obtainingSchedulingInformation(QueueResourceRequest queueResourceRequest);
传入资源组属性作作为参数当前任务申请使用的资源量与单个任务资源量大于系统上限比较若超过不予调度public QueueResourceResponse obtainingSchedulingInformation(QueueResourceRequest queueResourceRequest)
获取实时队列资源QueueQuota getClusterQueueQuota(String clusterQueueName)
运行作业资源BaseResponse<RunningJobQuotaStatus> getRunningJobQuotaStatus()
return new RunningJobQuotaStatus
web层
请求队列quota资源 将cluster name作为参数传进去BaseResponse<QueueQuota> getRealTimeQueueStatus( String clusterQueueName)
调用ResourceComputeService接口计算任务最大资源quota占用量
调用资源组信息queueInfoService.getClusterQueueQuota(queue.getName());根据userName获取projectIdprojectInfoService.getProjectIdByUserName(queueResourceRequest.getUserName()) 根据projectId获取团队的最大cpu & mem使用量projectInfoService.getTotalQuotaUsage(projectId);
调用normandy接口计算集群Cpu和Mem的使用情况已HashMap的形式返回
获取团队资源的总量和使用量
获取状态为WAITING三种状态的数据流Jobpublic WaitingJobQuotaStatus getWaitingJobQuotaStatus()
获取Running作业现状RunningJobQuotaStatus getRunningJobQuotaStatus();
团队实时资源BaseResponse<RealTimeQueueStatus> getRealTimeQueueStatus(RealTimeCostReq realTimeCostReq)
0 条评论
下一页