zhangliang 2 тижнів тому
батько
коміт
8891fcb29c
1 змінених файлів з 74 додано та 11 видалено
  1. 74 11
      run.sh

+ 74 - 11
run.sh

@@ -1,5 +1,7 @@
 #!/bin/bash
-# 运行脚本
+# 抖音 Cookie 生成器启动脚本 - 优化版
+
+set -e  # 遇到错误立即退出
 
 echo "🎯 启动抖音 Cookie 生成器"
 
@@ -7,27 +9,88 @@ echo "🎯 启动抖音 Cookie 生成器"
 if [ -d "venv" ]; then
     echo "🔧 激活虚拟环境"
     source venv/bin/activate
+else
+    echo "⚠️  虚拟环境不存在,使用系统 Python"
 fi
 
 # 检查依赖
 echo "📦 检查依赖..."
-pip install -r requirements.txt
+if [ -f "requirements.txt" ]; then
+    pip install -r requirements.txt
+    echo "✅ 依赖安装完成"
+else
+    echo "❌ requirements.txt 不存在"
+    exit 1
+fi
 
-# 检查Playwright浏览器
-echo "🔍 检查浏览器..."
-python3 -c "from cookie_generator import CookieGenerator; exit(0 if CookieGenerator().check_playwright_browser() else 1)"
+# 安装必要的模块
+echo "📦 安装必要模块..."
+pip install redis loguru schedule playwright
+
+# 检查环境
+echo "🔍 检查环境..."
+python3 -c "
+from cookie_generator import CookieGenerator
+try:
+    generator = CookieGenerator()
+    if generator.check_environment():
+        print('✅ 环境检查通过')
+        exit(0)
+    else:
+        print('❌ 环境检查失败')
+        exit(1)
+except Exception as e:
+    print(f'❌ 环境检查异常: {e}')
+    exit(1)
+"
 
 if [ $? -ne 0 ]; then
     echo "🔄 安装 Playwright 浏览器..."
     playwright install chromium
+    playwright install-deps
+
+    # 再次检查环境
+    echo "🔍 重新检查环境..."
+    python3 -c "
+from cookie_generator import CookieGenerator
+generator = CookieGenerator()
+if generator.check_environment():
+    print('✅ 环境检查通过')
+    exit(0)
+else:
+    print('❌ 环境检查仍然失败')
+    exit(1)
+"
+
+    if [ $? -ne 0 ]; then
+        echo "❌ 环境检查失败,请手动排查问题"
+        exit 1
+    fi
 fi
 
+# 创建日志目录
+mkdir -p logs
+
 # 使用 nohup 持久化运行主程序
-echo "🚀 启动主程序(持久化)..."
+echo "🚀 启动主程序(持久化运行)..."
 nohup python3 run.py > dy_cookie.log 2>&1 &
 
-# 显示进程信息
-echo "📝 进程已启动,PID: $!"
-echo "📄 日志文件: app.log"
-echo "🔍 查看日志: tail -f dy_cookie.log"
-echo "🛑 停止进程: kill $!"
+# 保存进程 ID
+PID=$!
+echo $PID > pid.txt
+
+# 等待片刻确认进程启动
+sleep 2
+
+# 检查进程是否在运行
+if ps -p $PID > /dev/null 2>&1; then
+    echo "✅ 进程已启动,PID: $PID"
+    echo "📄 主程序日志: dy_cookie.log"
+    echo "📊 任务调度日志: logs/cookie_task_scheduler.log"
+    echo "🔍 查看实时日志: tail -f dy_cookie.log"
+    echo "📈 查看任务日志: tail -f logs/cookie_task_scheduler.log"
+    echo "🛑 停止服务: kill $PID 或执行 ./stop.sh"
+else
+    echo "❌ 进程启动失败,请检查日志: dy_cookie.log"
+    exit 1
+fi