init: first upload
This commit is contained in:
154
scripts/run.sh
Normal file
154
scripts/run.sh
Normal file
@@ -0,0 +1,154 @@
|
||||
#!/bin/bash
|
||||
# 批量图片分析管理脚本 - 极简版
|
||||
|
||||
BASE_DIR="$HOME/bin/p_anlz"
|
||||
BATCH_SCRIPT="$BASE_DIR/scripts/batch_run.sh"
|
||||
LOG_DIR="$BASE_DIR/logs"
|
||||
MAIN_LOG="$LOG_DIR/batch_run.log"
|
||||
|
||||
# 显示帮助
|
||||
show_help() {
|
||||
cat << EOF
|
||||
批量图片分析管理工具
|
||||
|
||||
用法: $0 <命令>
|
||||
|
||||
命令:
|
||||
start 后台启动任务
|
||||
stop 停止任务
|
||||
status 查看运行状态
|
||||
log 查看实时日志
|
||||
help 显示帮助
|
||||
|
||||
示例:
|
||||
$0 start # 启动任务
|
||||
$0 log # 查看日志
|
||||
$0 status # 查看状态
|
||||
|
||||
修改参数:
|
||||
API_TYPE=openai $0 start
|
||||
MAX_WORKERS=3 $0 start
|
||||
TIMEOUT=120 $0 start
|
||||
EOF
|
||||
}
|
||||
|
||||
# 启动任务
|
||||
start_task() {
|
||||
if pgrep -f "batch_run.sh" > /dev/null; then
|
||||
echo "任务已在运行中"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "启动批量分析任务..."
|
||||
|
||||
# 导出环境变量
|
||||
export API_TYPE="${API_TYPE:-dify}"
|
||||
export MAX_WORKERS="${MAX_WORKERS:-1}"
|
||||
export TIMEOUT="${TIMEOUT:-90}"
|
||||
|
||||
# 后台运行
|
||||
nohup bash "$BATCH_SCRIPT" > /dev/null 2>&1 &
|
||||
|
||||
sleep 2
|
||||
|
||||
if pgrep -f "batch_run.sh" > /dev/null; then
|
||||
echo "✓ 任务已启动"
|
||||
echo ""
|
||||
echo "查看日志: $0 log"
|
||||
echo "查看状态: $0 status"
|
||||
else
|
||||
echo "✗ 启动失败"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
# 停止任务
|
||||
stop_task() {
|
||||
if ! pgrep -f "batch_run.sh" > /dev/null; then
|
||||
echo "任务未运行"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "停止任务..."
|
||||
pkill -f "batch_run.sh"
|
||||
pkill -f "image_batch_recognizer.py"
|
||||
|
||||
sleep 1
|
||||
|
||||
if ! pgrep -f "batch_run.sh" > /dev/null; then
|
||||
echo "✓ 任务已停止"
|
||||
else
|
||||
echo "✗ 停止失败,尝试强制终止..."
|
||||
pkill -9 -f "batch_run.sh"
|
||||
pkill -9 -f "image_batch_recognizer.py"
|
||||
fi
|
||||
}
|
||||
|
||||
# 查看状态
|
||||
show_status() {
|
||||
echo "任务状态:"
|
||||
echo ""
|
||||
|
||||
if pgrep -f "batch_run.sh" > /dev/null; then
|
||||
echo "✓ 运行中"
|
||||
echo ""
|
||||
echo "进程信息:"
|
||||
ps aux | grep -E "batch_run.sh|image_batch_recognizer.py" | grep -v grep
|
||||
echo ""
|
||||
|
||||
# 显示当前进度
|
||||
if [ -f "$MAIN_LOG" ]; then
|
||||
echo "最新日志:"
|
||||
tail -10 "$MAIN_LOG"
|
||||
fi
|
||||
else
|
||||
echo "○ 未运行"
|
||||
|
||||
if [ -f "$MAIN_LOG" ]; then
|
||||
echo ""
|
||||
echo "上次运行结果:"
|
||||
tail -15 "$MAIN_LOG" | grep -A 10 "批量分析完成"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# 查看日志
|
||||
show_log() {
|
||||
if [ ! -f "$MAIN_LOG" ]; then
|
||||
echo "日志文件不存在: $MAIN_LOG"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "实时查看日志 (Ctrl+C 退出):"
|
||||
echo ""
|
||||
tail -f "$MAIN_LOG"
|
||||
}
|
||||
|
||||
# 主函数
|
||||
main() {
|
||||
case "${1:-help}" in
|
||||
start)
|
||||
start_task
|
||||
;;
|
||||
stop)
|
||||
stop_task
|
||||
;;
|
||||
status)
|
||||
show_status
|
||||
;;
|
||||
log)
|
||||
show_log
|
||||
;;
|
||||
help|--help|-h)
|
||||
show_help
|
||||
;;
|
||||
*)
|
||||
echo "未知命令: $1"
|
||||
echo ""
|
||||
show_help
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
main "$@"
|
||||
Reference in New Issue
Block a user