You've already forked FrameTour-BE
refactor(basic): 重构渲染机相关代码
- 移除了 RenderWorkerMapper 中的未使用的接口 - 精简了 RenderWorkerEntity 中的字段 -重构了 RenderWorkerRepository 中的缓存逻辑 - 更新了 RenderWorkerService 接口和实现类,使用新的 RenderWorkerRespVO 响应对象 - 调整了 TaskTaskServiceImpl 中的渲染机相关代码,使用新的配置管理方式
This commit is contained in:
@@ -3,6 +3,7 @@ package com.ycwl.basic.service.pc;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.ycwl.basic.model.pc.renderWorker.entity.RenderWorkerEntity;
|
||||
import com.ycwl.basic.model.pc.renderWorker.req.RenderWorkerReqQuery;
|
||||
import com.ycwl.basic.model.pc.renderWorker.resp.RenderWorkerRespVO;
|
||||
import com.ycwl.basic.utils.ApiResponse;
|
||||
|
||||
import java.util.List;
|
||||
@@ -12,9 +13,9 @@ import java.util.List;
|
||||
* @Date:2024/12/3 15:07
|
||||
*/
|
||||
public interface RenderWorkerService {
|
||||
ApiResponse<PageInfo<RenderWorkerEntity>> pageQuery(RenderWorkerReqQuery renderWorkerReqQuery);
|
||||
ApiResponse<List<RenderWorkerEntity>> list(RenderWorkerReqQuery renderWorkerReqQuery);
|
||||
ApiResponse<RenderWorkerEntity> detail(Long id);
|
||||
ApiResponse<PageInfo<RenderWorkerRespVO>> pageQuery(RenderWorkerReqQuery renderWorkerReqQuery);
|
||||
ApiResponse<List<RenderWorkerRespVO>> list(RenderWorkerReqQuery renderWorkerReqQuery);
|
||||
ApiResponse<RenderWorkerRespVO> detail(Long id);
|
||||
ApiResponse<Integer> add(RenderWorkerEntity renderWorker);
|
||||
ApiResponse<Integer> deleteById(Long id);
|
||||
ApiResponse<Integer> update(RenderWorkerEntity renderWorker);
|
||||
|
@@ -5,6 +5,7 @@ import com.github.pagehelper.PageInfo;
|
||||
import com.ycwl.basic.mapper.RenderWorkerMapper;
|
||||
import com.ycwl.basic.model.pc.renderWorker.entity.RenderWorkerEntity;
|
||||
import com.ycwl.basic.model.pc.renderWorker.req.RenderWorkerReqQuery;
|
||||
import com.ycwl.basic.model.pc.renderWorker.resp.RenderWorkerRespVO;
|
||||
import com.ycwl.basic.model.task.req.ClientStatusReqVo;
|
||||
import com.ycwl.basic.repository.RenderWorkerRepository;
|
||||
import com.ycwl.basic.service.pc.RenderWorkerService;
|
||||
@@ -31,72 +32,96 @@ public class RenderWorkerServiceImpl implements RenderWorkerService {
|
||||
private RenderWorkerRepository renderWorkerRepository;
|
||||
|
||||
@Override
|
||||
public ApiResponse<PageInfo<RenderWorkerEntity>> pageQuery(RenderWorkerReqQuery renderWorkerReqQuery) {
|
||||
public ApiResponse<PageInfo<RenderWorkerRespVO>> pageQuery(RenderWorkerReqQuery renderWorkerReqQuery) {
|
||||
PageHelper.startPage(renderWorkerReqQuery.getPageNum(), renderWorkerReqQuery.getPageSize());
|
||||
List<RenderWorkerEntity> list = renderWorkerMapper.list(renderWorkerReqQuery);
|
||||
list.forEach(worker -> {
|
||||
List<RenderWorkerRespVO> workerList = list.stream().map(worker -> {
|
||||
RenderWorkerRespVO resp = new RenderWorkerRespVO();
|
||||
resp.setId(worker.getId());
|
||||
resp.setName(worker.getName());
|
||||
resp.setAccessKey(worker.getAccessKey());
|
||||
resp.setStatus(worker.getStatus());
|
||||
resp.setCreateAt(worker.getCreateAt());
|
||||
resp.setUpdateAt(worker.getUpdateAt());
|
||||
ClientStatusReqVo clientStatus = renderWorkerRepository.getWorkerHostStatus(worker.getId());
|
||||
if (clientStatus == null) {
|
||||
return;
|
||||
return resp;
|
||||
}
|
||||
worker.setCpuCount(clientStatus.getCpu_count());
|
||||
worker.setCpuUsage(clientStatus.getCpu_usage());
|
||||
resp.setCpuCount(clientStatus.getCpu_count());
|
||||
resp.setCpuUsage(clientStatus.getCpu_usage());
|
||||
// 上报的是字节,存储的是兆
|
||||
worker.setMemoryAvailable(clientStatus.getMemory_available().divide(BigDecimal.valueOf(1024 * 1024), RoundingMode.CEILING));
|
||||
worker.setMemoryTotal(clientStatus.getMemory_total().divide(BigDecimal.valueOf(1024 * 1024), RoundingMode.CEILING));
|
||||
resp.setMemoryAvailable(clientStatus.getMemory_available().divide(BigDecimal.valueOf(1024 * 1024), RoundingMode.CEILING));
|
||||
resp.setMemoryTotal(clientStatus.getMemory_total().divide(BigDecimal.valueOf(1024 * 1024), RoundingMode.CEILING));
|
||||
|
||||
worker.setPlatform(clientStatus.getPlatform());
|
||||
worker.setRuntimeVersion(clientStatus.getRuntime_version());
|
||||
worker.setSupportFeature(String.join(",", clientStatus.getSupport_feature()));
|
||||
worker.setVersion(clientStatus.getVersion());
|
||||
worker.setUpdateAt(clientStatus.getUpdateAt());
|
||||
});
|
||||
PageInfo<RenderWorkerEntity> pageInfo = new PageInfo<>(list);
|
||||
resp.setPlatform(clientStatus.getPlatform());
|
||||
resp.setRuntimeVersion(clientStatus.getRuntime_version());
|
||||
resp.setSupportFeature(String.join(",", clientStatus.getSupport_feature()));
|
||||
resp.setVersion(clientStatus.getVersion());
|
||||
resp.setUpdateAt(clientStatus.getUpdateAt());
|
||||
return resp;
|
||||
}).toList();
|
||||
PageInfo<RenderWorkerRespVO> pageInfo = new PageInfo<>(workerList);
|
||||
return ApiResponse.success(pageInfo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResponse<List<RenderWorkerEntity>> list(RenderWorkerReqQuery renderWorkerReqQuery) {
|
||||
public ApiResponse<List<RenderWorkerRespVO>> list(RenderWorkerReqQuery renderWorkerReqQuery) {
|
||||
List<RenderWorkerEntity> list = renderWorkerMapper.list(renderWorkerReqQuery);
|
||||
list.forEach(worker -> {
|
||||
List<RenderWorkerRespVO> workerList = list.stream().map(worker -> {
|
||||
RenderWorkerRespVO resp = new RenderWorkerRespVO();
|
||||
resp.setId(worker.getId());
|
||||
resp.setName(worker.getName());
|
||||
resp.setAccessKey(worker.getAccessKey());
|
||||
resp.setStatus(worker.getStatus());
|
||||
resp.setCreateAt(worker.getCreateAt());
|
||||
resp.setUpdateAt(worker.getUpdateAt());
|
||||
ClientStatusReqVo clientStatus = renderWorkerRepository.getWorkerHostStatus(worker.getId());
|
||||
if (clientStatus == null) {
|
||||
return;
|
||||
return resp;
|
||||
}
|
||||
worker.setCpuCount(clientStatus.getCpu_count());
|
||||
worker.setCpuUsage(clientStatus.getCpu_usage());
|
||||
resp.setCpuCount(clientStatus.getCpu_count());
|
||||
resp.setCpuUsage(clientStatus.getCpu_usage());
|
||||
// 上报的是字节,存储的是兆
|
||||
worker.setMemoryAvailable(clientStatus.getMemory_available().divide(BigDecimal.valueOf(1024 * 1024), RoundingMode.CEILING));
|
||||
worker.setMemoryTotal(clientStatus.getMemory_total().divide(BigDecimal.valueOf(1024 * 1024), RoundingMode.CEILING));
|
||||
resp.setMemoryAvailable(clientStatus.getMemory_available().divide(BigDecimal.valueOf(1024 * 1024), RoundingMode.CEILING));
|
||||
resp.setMemoryTotal(clientStatus.getMemory_total().divide(BigDecimal.valueOf(1024 * 1024), RoundingMode.CEILING));
|
||||
|
||||
worker.setPlatform(clientStatus.getPlatform());
|
||||
worker.setRuntimeVersion(clientStatus.getRuntime_version());
|
||||
worker.setSupportFeature(String.join(",", clientStatus.getSupport_feature()));
|
||||
worker.setVersion(clientStatus.getVersion());
|
||||
worker.setUpdateAt(clientStatus.getUpdateAt());
|
||||
});
|
||||
return ApiResponse.success(list);
|
||||
resp.setPlatform(clientStatus.getPlatform());
|
||||
resp.setRuntimeVersion(clientStatus.getRuntime_version());
|
||||
resp.setSupportFeature(String.join(",", clientStatus.getSupport_feature()));
|
||||
resp.setVersion(clientStatus.getVersion());
|
||||
resp.setUpdateAt(clientStatus.getUpdateAt());
|
||||
return resp;
|
||||
}).toList();
|
||||
return ApiResponse.success(workerList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResponse<RenderWorkerEntity> detail(Long id) {
|
||||
RenderWorkerEntity worker = renderWorkerMapper.getById(id);
|
||||
public ApiResponse<RenderWorkerRespVO> detail(Long id) {
|
||||
RenderWorkerEntity worker = renderWorkerRepository.getWorker(id);
|
||||
|
||||
RenderWorkerRespVO resp = new RenderWorkerRespVO();
|
||||
resp.setId(worker.getId());
|
||||
resp.setName(worker.getName());
|
||||
resp.setAccessKey(worker.getAccessKey());
|
||||
resp.setStatus(worker.getStatus());
|
||||
resp.setCreateAt(worker.getCreateAt());
|
||||
resp.setUpdateAt(worker.getUpdateAt());
|
||||
|
||||
ClientStatusReqVo clientStatus = renderWorkerRepository.getWorkerHostStatus(worker.getId());
|
||||
if (clientStatus != null) {
|
||||
worker.setCpuCount(clientStatus.getCpu_count());
|
||||
worker.setCpuUsage(clientStatus.getCpu_usage());
|
||||
resp.setCpuCount(clientStatus.getCpu_count());
|
||||
resp.setCpuUsage(clientStatus.getCpu_usage());
|
||||
// 上报的是字节,存储的是兆
|
||||
worker.setMemoryAvailable(clientStatus.getMemory_available().divide(BigDecimal.valueOf(1024 * 1024), RoundingMode.CEILING));
|
||||
worker.setMemoryTotal(clientStatus.getMemory_total().divide(BigDecimal.valueOf(1024 * 1024), RoundingMode.CEILING));
|
||||
resp.setMemoryAvailable(clientStatus.getMemory_available().divide(BigDecimal.valueOf(1024 * 1024), RoundingMode.CEILING));
|
||||
resp.setMemoryTotal(clientStatus.getMemory_total().divide(BigDecimal.valueOf(1024 * 1024), RoundingMode.CEILING));
|
||||
|
||||
worker.setPlatform(clientStatus.getPlatform());
|
||||
worker.setRuntimeVersion(clientStatus.getRuntime_version());
|
||||
worker.setSupportFeature(String.join(",", clientStatus.getSupport_feature()));
|
||||
worker.setVersion(clientStatus.getVersion());
|
||||
worker.setUpdateAt(clientStatus.getUpdateAt());
|
||||
resp.setPlatform(clientStatus.getPlatform());
|
||||
resp.setRuntimeVersion(clientStatus.getRuntime_version());
|
||||
resp.setSupportFeature(String.join(",", clientStatus.getSupport_feature()));
|
||||
resp.setVersion(clientStatus.getVersion());
|
||||
resp.setUpdateAt(clientStatus.getUpdateAt());
|
||||
}
|
||||
return ApiResponse.success(worker);
|
||||
return ApiResponse.success(resp);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -116,13 +141,11 @@ public class RenderWorkerServiceImpl implements RenderWorkerService {
|
||||
|
||||
@Override
|
||||
public ApiResponse<Integer> deleteById(Long id) {
|
||||
renderWorkerRepository.clearCache(id);
|
||||
return ApiResponse.success(renderWorkerMapper.deleteById(id));
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResponse<Integer> update(RenderWorkerEntity renderWorker) {
|
||||
renderWorkerRepository.clearCache(renderWorker.getId());
|
||||
int update = renderWorkerMapper.update(renderWorker);
|
||||
if (update == 0) {
|
||||
return ApiResponse.fail("渲染机修改失败");
|
||||
@@ -133,7 +156,6 @@ public class RenderWorkerServiceImpl implements RenderWorkerService {
|
||||
|
||||
@Override
|
||||
public ApiResponse<Integer> updateStatus(Long id) {
|
||||
renderWorkerRepository.clearCache(id);
|
||||
return ApiResponse.success(renderWorkerMapper.updateStatus(id));
|
||||
}
|
||||
}
|
||||
|
@@ -1,6 +1,7 @@
|
||||
package com.ycwl.basic.service.task.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.ycwl.basic.integration.common.manager.RenderWorkerConfigManager;
|
||||
import com.ycwl.basic.utils.JacksonUtil;
|
||||
import com.ycwl.basic.biz.OrderBiz;
|
||||
import com.ycwl.basic.biz.TaskStatusBiz;
|
||||
@@ -10,7 +11,6 @@ import com.ycwl.basic.constant.TaskConstant;
|
||||
import com.ycwl.basic.mapper.FaceMapper;
|
||||
import com.ycwl.basic.mapper.FaceSampleMapper;
|
||||
import com.ycwl.basic.mapper.MemberMapper;
|
||||
import com.ycwl.basic.mapper.RenderWorkerMapper;
|
||||
import com.ycwl.basic.mapper.SourceMapper;
|
||||
import com.ycwl.basic.mapper.TaskMapper;
|
||||
import com.ycwl.basic.mapper.TemplateMapper;
|
||||
@@ -134,7 +134,6 @@ public class TaskTaskServiceImpl implements TaskService {
|
||||
if (worker == null) {
|
||||
return null;
|
||||
}
|
||||
worker.setOnline(1);
|
||||
worker.setName(null);
|
||||
worker.setStatus(null);
|
||||
// get status
|
||||
@@ -174,7 +173,6 @@ public class TaskTaskServiceImpl implements TaskService {
|
||||
taskList.forEach(task -> {
|
||||
taskMapper.assignToWorker(task.getId(), worker.getId());
|
||||
videoTaskRepository.clearTaskCache(task.getId());
|
||||
repository.clearCache(worker.getId());
|
||||
});
|
||||
} finally {
|
||||
lock.unlock();
|
||||
@@ -540,10 +538,11 @@ public class TaskTaskServiceImpl implements TaskService {
|
||||
if (worker == null) {
|
||||
return null;
|
||||
}
|
||||
RenderWorkerConfigManager config = repository.getWorkerConfigManager(worker.getId());
|
||||
IStorageAdapter adapter;
|
||||
try {
|
||||
adapter = StorageFactory.get(worker.getStoreType());
|
||||
adapter.loadConfig(JacksonUtil.parseObject(worker.getStoreConfigJson(), Map.class));
|
||||
adapter = StorageFactory.get(config.getString("store_type"));
|
||||
adapter.loadConfig(config.getObject("store_config_json", Map.class));
|
||||
} catch (Exception e) {
|
||||
adapter = scenicService.getScenicStorageAdapter(task.getScenicId());
|
||||
}
|
||||
|
Reference in New Issue
Block a user