diff --git a/stockapp/reports_em/deploy.sh b/stockapp/reports_em/deploy.sh index e78fd9a..d18eaa6 100755 --- a/stockapp/reports_em/deploy.sh +++ b/stockapp/reports_em/deploy.sh @@ -4,6 +4,7 @@ SERVERS=("175.178.54.98" "1.12.218.143" "43.139.169.25" "129.204.180.174" "42.194.142.169") REMOTE_USER="ubuntu" REMOTE_SCRIPT_DIR="/home/ubuntu/pyscripts/stockapp/reports_em" +REMOTE_LOG_DIR="/home/ubuntu/pyscripts/stockapp/log" DATA_DIR="/home/ubuntu/hostdir/stock_data/pdfs" LOCAL_FILES=("config.py" "em_reports.py" "fetch.py") @@ -53,7 +54,6 @@ function check_progress() { echo -e "\nChecking progress on $SERVER..." FILE_COUNT=$(ssh "$REMOTE_USER@$SERVER" "ls -lRh $DATA_DIR | grep pdf | wc -l") FILE_SIZE=$(ssh "$REMOTE_USER@$SERVER" "du -sh $DATA_DIR") - #PROCESS_COUNT=$(ssh "$REMOTE_USER@$SERVER" "pgrep -f 'python3 ./fetch.py' | wc -l") PROCESS_COUNT=$(ssh "$REMOTE_USER@$SERVER" "ps aux | grep '[f]etch.py' | wc -l") if [ "$PROCESS_COUNT" -gt 0 ]; then @@ -64,9 +64,44 @@ function check_progress() { echo "Total files: $FILE_COUNT" echo "Total size : $FILE_SIZE" + + ERROR_LINES=$(ssh "$REMOTE_USER@$SERVER" "grep -v INFO $REMOTE_LOG_DIR/fetch_202503* | wc -l") + echo "Error lines: $ERROR_LINES" + + TASK_COUNT=$(ssh "$REMOTE_USER@$SERVER" "grep 'running task. id' ~/pyscripts/stockapp/log/fetch_20250316.log | wc -l") + echo "Task count: $TASK_COUNT" + done } +# 获取任务进度 +function check_progress_robot() { + result="" + for SERVER in "${SERVERS[@]}"; do + result+="\nChecking progress on $SERVER...\n" + FILE_COUNT=$(ssh "$REMOTE_USER@$SERVER" "ls -lRh $DATA_DIR | grep pdf | wc -l") + FILE_SIZE=$(ssh "$REMOTE_USER@$SERVER" "du -sh $DATA_DIR") + PROCESS_COUNT=$(ssh "$REMOTE_USER@$SERVER" "ps aux | grep '[f]etch.py' | wc -l") + + if [ "$PROCESS_COUNT" -gt 0 ]; then + result+="Process status: Running ($PROCESS_COUNT instances), if 2, include parent progress\n" + else + result+="Process status: Not running\n" + fi + + result+="Total files: $FILE_COUNT\n" + result+="Total size : $FILE_SIZE\n" + + ERROR_LINES=$(ssh "$REMOTE_USER@$SERVER" "grep -v INFO $REMOTE_LOG_DIR/fetch_202503* | wc -l") + result+="Error lines: $ERROR_LINES\n" + + TASK_COUNT=$(ssh "$REMOTE_USER@$SERVER" "grep 'running task. id' ~/pyscripts/stockapp/log/fetch_20250316.log | wc -l") + done + echo -e "$result" + # 调用 Python 脚本发送消息 + python3 ./robot.py "$result" +} + # 脚本菜单 case "$1" in push) push_code ;;