- 修改设备移除时的本地清理方法,统一调用 clearLocalAuth - 优化设备数量限制校验逻辑,避免重复计算当前设备- 移除冗余的设备状态检查,简化设备移除流程- 调整 Redis 连接超时与等待时间,提升连接稳定性- 增强 MySQL 数据库连接配置,添加自动重连机制 -优化 Druid 连接池参数,提高数据库连接性能 - 简化客户端认证与数据上报逻辑,提升处理效率 - 移除过期设备状态更新逻辑,减少不必要的数据库操作- 调整慢 SQL 记录阈值,便于及时发现性能问题-优化版本分布与数据类型统计查询逻辑,提高响应速度
80 lines
2.2 KiB
Batchfile
80 lines
2.2 KiB
Batchfile
@echo off
|
|
setlocal enabledelayedexpansion
|
|
|
|
set APP_ASAR=%~1
|
|
set UPDATE_FILE=%~2
|
|
set JAR_UPDATE=%~3
|
|
set EXE_PATH=%~4
|
|
|
|
if not exist "%UPDATE_FILE%" if "%JAR_UPDATE%"=="" exit /b 1
|
|
if not exist "%UPDATE_FILE%" if not exist "%JAR_UPDATE%" exit /b 1
|
|
|
|
REM Wait for application to close
|
|
for /f "tokens=*" %%a in ("%EXE_PATH%") do set EXE_NAME=%%~nxa
|
|
set COUNT=0
|
|
:wait_loop
|
|
tasklist /FI "IMAGENAME eq %EXE_NAME%" 2>nul | find /I "%EXE_NAME%" >nul
|
|
if errorlevel 1 goto process_closed
|
|
set /a COUNT+=1
|
|
if %COUNT% GEQ 20 goto process_closed
|
|
timeout /t 1 /nobreak >nul
|
|
goto wait_loop
|
|
:process_closed
|
|
timeout /t 1 /nobreak >nul
|
|
|
|
REM Update ASAR
|
|
if exist "%UPDATE_FILE%" (
|
|
if exist "%APP_ASAR%.backup" del /f /q "%APP_ASAR%.backup" >nul 2>&1
|
|
if exist "%APP_ASAR%" move /y "%APP_ASAR%" "%APP_ASAR%.backup" >nul 2>&1
|
|
move /y "%UPDATE_FILE%" "%APP_ASAR%" >nul 2>&1
|
|
if errorlevel 1 if exist "%APP_ASAR%.backup" move /y "%APP_ASAR%.backup" "%APP_ASAR%" >nul 2>&1
|
|
if exist "%UPDATE_FILE%" del /f /q "%UPDATE_FILE%" >nul 2>&1
|
|
)
|
|
|
|
REM Update JAR
|
|
:update_jar
|
|
if "%JAR_UPDATE%"=="" goto :start_app
|
|
if not exist "%JAR_UPDATE%" goto :start_app
|
|
timeout /t 3 /nobreak >nul
|
|
for %%I in ("%APP_ASAR%") do set RESOURCES_DIR=%%~dpI
|
|
for %%F in ("%JAR_UPDATE%") do set JAR_NAME=%%~nF
|
|
echo %JAR_NAME% | findstr /B /C:"erp_client_sb-" >nul
|
|
if errorlevel 1 (
|
|
for /f "tokens=1-3 delims=/ " %%a in ("%date%") do set TODAY=%%a%%b%%c
|
|
for /f "tokens=1-3 delims=:." %%a in ("%time%") do set NOW=%%a%%b%%c
|
|
set JAR_NAME=erp_client_sb-2.4.7-!TODAY!!NOW!.jar
|
|
)
|
|
|
|
REM Delete old JAR files
|
|
for %%F in ("%RESOURCES_DIR%erp_client_sb-*.jar") do (
|
|
set RETRY_COUNT=0
|
|
:retry_delete
|
|
del /f /q "%%F" >nul 2>&1
|
|
if errorlevel 1 (
|
|
set /a RETRY_COUNT+=1
|
|
if !RETRY_COUNT! LEQ 5 (
|
|
timeout /t 2 /nobreak >nul
|
|
goto :retry_delete
|
|
)
|
|
)
|
|
)
|
|
|
|
REM Install new JAR file
|
|
set NEW_JAR_PATH=%RESOURCES_DIR%%JAR_NAME%
|
|
set INSTALL_RETRY=0
|
|
:retry_install
|
|
move /y "%JAR_UPDATE%" "%NEW_JAR_PATH%" >nul 2>&1
|
|
if errorlevel 1 (
|
|
set /a INSTALL_RETRY+=1
|
|
if %INSTALL_RETRY% LEQ 5 (
|
|
timeout /t 2 /nobreak >nul
|
|
goto :retry_install
|
|
)
|
|
goto :start_app
|
|
)
|
|
if exist "%JAR_UPDATE%" del /f /q "%JAR_UPDATE%" >nul 2>&1
|
|
|
|
:start_app
|
|
start "" "%EXE_PATH%"
|
|
exit /b 0
|