75 lines
1.9 KiB
Batchfile
75 lines
1.9 KiB
Batchfile
|
|
@echo off
|
|||
|
|
setlocal enabledelayedexpansion
|
|||
|
|
|
|||
|
|
:: ================= <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> =================
|
|||
|
|
:: <20><><EFBFBD><EFBFBD>Ŀ¼ (<28><>ȷ<EFBFBD><C8B7>·<EFBFBD><C2B7><EFBFBD><EFBFBD>ȷ)
|
|||
|
|
set "WORK_DIR=C:\Data\Project\NewStock\qmt"
|
|||
|
|
:: Python<6F>ű<EFBFBD><C5B1><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
set "SCRIPT_NAME=qmt_trader.py"
|
|||
|
|
:: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD>
|
|||
|
|
set MAX_RETRIES=5
|
|||
|
|
:: <20><><EFBFBD>Լ<EFBFBD><D4BC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
set RETRY_COUNT=0
|
|||
|
|
:: <20><><EFBFBD>Եȴ<D4B5>ʱ<EFBFBD><CAB1>(<28><>)
|
|||
|
|
set RETRY_WAIT=10
|
|||
|
|
:: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־Ŀ¼
|
|||
|
|
set "LOG_DIR=%WORK_DIR%\logs\launcher"
|
|||
|
|
:: ===========================================
|
|||
|
|
|
|||
|
|
:: 1. <20>л<EFBFBD><D0BB><EFBFBD><EFBFBD><EFBFBD>Ŀ¼
|
|||
|
|
cd /d "%WORK_DIR%"
|
|||
|
|
title QMT ʵ<><CAB5><EFBFBD>ػ<EFBFBD>ϵͳ [Port:8001]
|
|||
|
|
|
|||
|
|
:: 2. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־Ŀ¼
|
|||
|
|
if not exist "%LOG_DIR%" mkdir "%LOG_DIR%"
|
|||
|
|
|
|||
|
|
:: <20><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>־<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD> (<28><EFBFBD><F2B5A5B5><EFBFBD><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䳣<EFBFBD><E4B3A3>Windows<77><73>ʽ)
|
|||
|
|
set "TODAY=%date:~0,4%-%date:~5,2%-%date:~8,2%"
|
|||
|
|
set "LOG_FILE=%LOG_DIR%\%TODAY%.log"
|
|||
|
|
|
|||
|
|
echo ==================================================
|
|||
|
|
echo QMT ʵ<>̽<EFBFBD><CCBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD><EFBFBD>
|
|||
|
|
echo ʱ<><CAB1>: %time%
|
|||
|
|
echo <20><>־: %LOG_FILE%
|
|||
|
|
echo <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: http://localhost:8001
|
|||
|
|
echo ==================================================
|
|||
|
|
|
|||
|
|
:LOOP
|
|||
|
|
echo.
|
|||
|
|
echo [%time%] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD><D3BD><EFBFBD>...
|
|||
|
|
echo [%time%] <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD><D3BD><EFBFBD>... >> "%LOG_FILE%"
|
|||
|
|
|
|||
|
|
:: 3. <20><><EFBFBD><EFBFBD> Python <20>ű<EFBFBD>
|
|||
|
|
:: ʹ<><CAB9> uv run <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2>&1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳд<D2B2><D0B4><EFBFBD><EFBFBD>־
|
|||
|
|
uv run %SCRIPT_NAME% >> "%LOG_FILE%" 2>&1
|
|||
|
|
|
|||
|
|
:: 4. <20><><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD>
|
|||
|
|
set EXIT_CODE=%errorlevel%
|
|||
|
|
echo [%time%] <20><><EFBFBD><EFBFBD><EFBFBD>쳣<EFBFBD>˳<EFBFBD><CBB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: %EXIT_CODE% >> "%LOG_FILE%"
|
|||
|
|
echo <20><><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳<EFBFBD> (Code: %EXIT_CODE%)
|
|||
|
|
|
|||
|
|
:: 5. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
if %RETRY_COUNT% GEQ %MAX_RETRIES% (
|
|||
|
|
echo [%time%] <20>ﵽ<EFBFBD><EFB5BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD><EFBFBD><EFBFBD>ϵͳֹͣ<CDA3><D6B9> >> "%LOG_FILE%"
|
|||
|
|
:: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
|
msg * "QMT <20><><EFBFBD><EFBFBD>ϵͳ<CFB5>ѱ<EFBFBD><D1B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><DEB7>Զ<EFBFBD><D4B6>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><D6BE>"
|
|||
|
|
goto FAIL
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
set /a RETRY_COUNT+=1
|
|||
|
|
echo [%time%] <20>ȴ<EFBFBD> %RETRY_WAIT% <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>е<EFBFBD> %RETRY_COUNT% <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>... >> "%LOG_FILE%"
|
|||
|
|
echo <20><><EFBFBD>ڵȴ<DAB5><C8B4><EFBFBD><EFBFBD><EFBFBD> (%RETRY_COUNT%/%MAX_RETRIES%)...
|
|||
|
|
timeout /t %RETRY_WAIT% >nul
|
|||
|
|
|
|||
|
|
goto LOOP
|
|||
|
|
|
|||
|
|
:FAIL
|
|||
|
|
title QMT ʵ<><CAB5><EFBFBD>ػ<EFBFBD>ϵͳ [<5B>ѱ<EFBFBD><D1B1><EFBFBD>]
|
|||
|
|
color 4F
|
|||
|
|
echo.
|
|||
|
|
echo ==========================================
|
|||
|
|
echo ϵͳ<CFB5><CDB3>ֹͣ<CDA3><D6B9><EFBFBD><EFBFBD>
|
|||
|
|
echo <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD>ļ<EFBFBD>: %LOG_FILE%
|
|||
|
|
echo ==========================================
|
|||
|
|
pause
|
|||
|
|
exit /b 1
|