dsx 1 rok temu
rodzic
commit
c432ab9df0

+ 4 - 0
src/main/java/com/fdkankan/download/controller/BatchDownloadController.java

@@ -67,5 +67,9 @@ public class BatchDownloadController {
 //        return ResultData.ok(snService.list());
     }
 
+//    public ResultData testKankan(String num){
+//        downloadService.downloadHandler(scenePlus.getNum());
+//    }
+
 
 }

+ 27 - 10
src/main/java/com/fdkankan/download/listener/RsyncSceneListener.java

@@ -1,5 +1,7 @@
 package com.fdkankan.download.listener;
 
+import com.fdkankan.common.util.CmdUtils;
+import com.fdkankan.download.constant.CommonConstant;
 import com.rabbitmq.client.Channel;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.amqp.core.Message;
@@ -14,21 +16,36 @@ import java.nio.charset.StandardCharsets;
 @Component
 public class RsyncSceneListener {
 
+    public final static String RSYNC_CMD = "rsync -av -e 'ssh -p $port' $source $user@$host:$dest";
+
+    @Value("${rsync.host}")
+    private String host;
+
+    @Value("${rsync.port}")
+    private String port;
+
+    @Value("${rsync.username}")
+    private String username;
+
+    @Value("${rsync.dest}")
+    private  String dest;
+
     /**
      * 场景计算状态日志记录
      * @param channel
      * @param message
      * @throws Exception
      */
-//    @RabbitListener(
-//            queuesToDeclare = @Queue("rsync-scene"),
-//            concurrency = "2"
-//    )
-//    public void buildScenePreHandler(Channel channel, Message message) throws Exception {
-//        String msg = new String(message.getBody(), StandardCharsets.UTF_8);
-//        System.out.println(msg);
-//        Thread.sleep(60000L);
-//        channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
-//    }
+    @RabbitListener(
+            queuesToDeclare = @Queue("rsync-scene"),
+            concurrency = "2"
+    )
+    public void buildScenePreHandler(Channel channel, Message message) throws Exception {
+        String path = new String(message.getBody(), StandardCharsets.UTF_8);
+        System.out.println(path);
+        String cmd = RSYNC_CMD.replace("$port", port).replace("$source", path).replace("$user", username).replace("$host", host).replace("$dest", dest);
+        CmdUtils.callLine(cmd);
+        channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
+    }
 
 }

+ 1 - 1
src/main/java/com/fdkankan/download/service/impl/GenSceneRunnerImpl.java

@@ -110,7 +110,7 @@ public class GenSceneRunnerImpl implements CommandLineRunner {
                             threadPoolExecutor.submit(() -> {
                                 try {
                                     String zipPath = downloadService.downloadHandler(scenePlus.getNum());
-                                    send(zipPath);
+//                                    send(zipPath);
                                     downloadLogService.saveLog(scenePlus.getNum(), "kankan", CommonSuccessStatus.SUCCESS.code(), null);
                                 } catch (Exception e) {
                                     log.error("看看场景打包失败,num:{}", scenePlus.getNum(), e);

+ 6 - 0
src/main/resources/application-dev.yml

@@ -110,6 +110,12 @@ download:
 laser:
   bucket: laser-data
 
+rsync:
+  username: root
+  host: 221.4.210.172
+  port: 22571
+  dest: /shuju
+
 
 
 #cutImgType: oss   #oss-阿里云接口切图  local-本地切图

+ 6 - 0
src/main/resources/application-test.yml

@@ -112,6 +112,12 @@ download:
 laser:
   bucket: laser-data
 
+rsync:
+  username: root
+  host: 221.4.210.172
+  port: 22571
+  dest: /shuju
+
 
 
 #cutImgType: oss   #oss-阿里云接口切图  local-本地切图