From 8efe13db427a9fc54adb123318236324b7507ad6 Mon Sep 17 00:00:00 2001 From: waner Date: Thu, 21 May 2026 11:33:10 +0800 Subject: [PATCH] fix --- .../cisd/tms/modules/upgrade/executor/UpgradeTaskRunner.java | 3 +++ .../tms/modules/upgrade/executor/UpgradeTaskRunnerTest.java | 2 ++ 2 files changed, 5 insertions(+) diff --git a/src/main/java/com/cisd/tms/modules/upgrade/executor/UpgradeTaskRunner.java b/src/main/java/com/cisd/tms/modules/upgrade/executor/UpgradeTaskRunner.java index b303b0a..dca94c7 100644 --- a/src/main/java/com/cisd/tms/modules/upgrade/executor/UpgradeTaskRunner.java +++ b/src/main/java/com/cisd/tms/modules/upgrade/executor/UpgradeTaskRunner.java @@ -22,6 +22,8 @@ import org.springframework.stereotype.Component; @Component public class UpgradeTaskRunner { + private static final int DETACHED_RESTART_DELAY_SECONDS = 5; + private final UpgradeTaskRepository upgradeTaskRepository; private final FileRecordRepository fileRecordRepository; private final DeviceSoftwareVersionRepository deviceSoftwareVersionRepository; @@ -250,6 +252,7 @@ public class UpgradeTaskRunner { + "APP_HOME=\"${APP_HOME:-/home/tms}\"; " + "RUN_DIR=\"${RUN_DIR:-${APP_HOME}/run}\"; " + "PENDING_META=\"${RUN_DIR}/tms-upgrade.pending-jar\"; " + + "sleep " + DETACHED_RESTART_DELAY_SECONDS + "; " + "\"${APP_HOME}/scripts/tms.sh\" stop; " + "if [ -s \"${PENDING_META}\" ]; then " + "PENDING_JAR=\"$(cat \"${PENDING_META}\")\"; " diff --git a/src/test/java/com/cisd/tms/modules/upgrade/executor/UpgradeTaskRunnerTest.java b/src/test/java/com/cisd/tms/modules/upgrade/executor/UpgradeTaskRunnerTest.java index b75dad8..8411556 100644 --- a/src/test/java/com/cisd/tms/modules/upgrade/executor/UpgradeTaskRunnerTest.java +++ b/src/test/java/com/cisd/tms/modules/upgrade/executor/UpgradeTaskRunnerTest.java @@ -188,7 +188,9 @@ class UpgradeTaskRunnerTest { Assertions.assertTrue(command.contains("PENDING_META")); Assertions.assertTrue(command.contains("tms-upgrade.pending-jar")); + Assertions.assertTrue(command.contains("sleep 5")); Assertions.assertTrue(command.contains("cp \"${PENDING_JAR}\" \"${APP_HOME}/tms-framework.jar\"")); + Assertions.assertTrue(command.indexOf("sleep 5") < command.indexOf("\"${APP_HOME}/scripts/tms.sh\" stop")); Assertions.assertTrue(command.indexOf("\"${APP_HOME}/scripts/tms.sh\" stop") < command.indexOf("cp \"${PENDING_JAR}\"")); Assertions.assertTrue(command.indexOf("cp \"${PENDING_JAR}\"") < command.indexOf("\"${APP_HOME}/scripts/tms.sh\" start")); }