mirror of
https://github.com/hwanny1128/HGZero.git
synced 2026-06-12 22:59:10 +00:00
AI 서비스 재시작 스크립트 개선 및 STT 서비스 수정
- AI 서비스 reload 설정 비활성화 (포트 충돌 방지) - start.sh 삭제 및 restart.sh로 대체 - STT 서비스 로깅 및 WebSocket 핸들러 개선 - 회의 안건 섹션 마이그레이션 SQL 추가 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
+1
-1
@@ -123,6 +123,6 @@ if __name__ == "__main__":
|
||||
"main:app",
|
||||
host=settings.host,
|
||||
port=settings.port,
|
||||
reload=True, # 개발 모드
|
||||
reload=False, # reload=True는 포트 충돌 발생 가능
|
||||
log_level=settings.log_level.lower()
|
||||
)
|
||||
|
||||
Executable
+115
@@ -0,0 +1,115 @@
|
||||
#!/bin/bash
|
||||
|
||||
# AI Python 서비스 재시작 스크립트
|
||||
# 8086 포트로 깔끔하게 재시작
|
||||
|
||||
echo "=================================="
|
||||
echo "AI Python 서비스 재시작"
|
||||
echo "=================================="
|
||||
|
||||
# 1. 기존 프로세스 종료
|
||||
echo "1️⃣ 기존 프로세스 정리 중..."
|
||||
pkill -9 -f "python.*main.py" 2>/dev/null
|
||||
pkill -9 -f "uvicorn.*8086" 2>/dev/null
|
||||
pkill -9 -f "uvicorn.*8087" 2>/dev/null
|
||||
|
||||
# 잠시 대기 (포트 해제 대기)
|
||||
sleep 2
|
||||
|
||||
# 2. 포트 확인
|
||||
echo "2️⃣ 포트 상태 확인..."
|
||||
if lsof -i:8086 > /dev/null 2>&1; then
|
||||
echo " ⚠️ 8086 포트가 아직 사용 중입니다."
|
||||
echo " 강제 종료 시도..."
|
||||
PID=$(lsof -ti:8086)
|
||||
if [ ! -z "$PID" ]; then
|
||||
kill -9 $PID
|
||||
sleep 2
|
||||
fi
|
||||
fi
|
||||
|
||||
if lsof -i:8086 > /dev/null 2>&1; then
|
||||
echo " ❌ 8086 포트를 해제할 수 없습니다."
|
||||
echo " 시스템 재부팅 후 다시 시도하거나,"
|
||||
echo " 다른 포트를 사용하세요."
|
||||
exit 1
|
||||
else
|
||||
echo " ✅ 8086 포트 사용 가능"
|
||||
fi
|
||||
|
||||
# 3. 가상환경 활성화
|
||||
echo "3️⃣ 가상환경 활성화..."
|
||||
if [ ! -d "venv" ]; then
|
||||
echo " ❌ 가상환경이 없습니다. venv 디렉토리를 생성하세요."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
source venv/bin/activate
|
||||
echo " ✅ 가상환경 활성화 완료"
|
||||
|
||||
# 4. 로그 디렉토리 확인
|
||||
mkdir -p ../logs
|
||||
|
||||
# 5. 서비스 시작
|
||||
echo "4️⃣ AI Python 서비스 시작 (포트: 8086)..."
|
||||
nohup python3 main.py > ../logs/ai-python.log 2>&1 &
|
||||
PID=$!
|
||||
|
||||
echo " PID: $PID"
|
||||
echo " 로그: ../logs/ai-python.log"
|
||||
|
||||
# 6. 시작 대기
|
||||
echo "5️⃣ 서비스 시작 대기 (7초)..."
|
||||
sleep 7
|
||||
|
||||
# 7. 상태 확인
|
||||
echo "6️⃣ 서비스 상태 확인..."
|
||||
|
||||
# 프로세스 확인
|
||||
if ps -p $PID > /dev/null; then
|
||||
echo " ✅ 프로세스 실행 중 (PID: $PID)"
|
||||
else
|
||||
echo " ❌ 프로세스 종료됨"
|
||||
echo " 로그 확인:"
|
||||
tail -20 ../logs/ai-python.log
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 포트 확인
|
||||
if lsof -i:8086 > /dev/null 2>&1; then
|
||||
echo " ✅ 8086 포트 리스닝 중"
|
||||
else
|
||||
echo " ⚠️ 8086 포트 아직 준비 중..."
|
||||
fi
|
||||
|
||||
# Health 체크
|
||||
echo "7️⃣ Health Check..."
|
||||
sleep 2
|
||||
HEALTH=$(curl -s http://localhost:8086/health 2>/dev/null)
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo " ✅ Health Check 성공"
|
||||
echo " $HEALTH"
|
||||
else
|
||||
echo " ⚠️ Health Check 실패 (서버가 아직 시작 중일 수 있습니다)"
|
||||
echo ""
|
||||
echo " 최근 로그:"
|
||||
tail -10 ../logs/ai-python.log
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "=================================="
|
||||
echo "✅ AI Python 서비스 시작 완료"
|
||||
echo "=================================="
|
||||
echo "📊 서비스 정보:"
|
||||
echo " - PID: $PID"
|
||||
echo " - 포트: 8086"
|
||||
echo " - 로그: tail -f ../logs/ai-python.log"
|
||||
echo ""
|
||||
echo "📡 엔드포인트:"
|
||||
echo " - Health: http://localhost:8086/health"
|
||||
echo " - Root: http://localhost:8086/"
|
||||
echo " - Swagger: http://localhost:8086/swagger-ui.html"
|
||||
echo ""
|
||||
echo "🛑 서비스 중지: pkill -f 'python.*main.py'"
|
||||
echo "=================================="
|
||||
@@ -1,35 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# AI Service (Python) 시작 스크립트
|
||||
|
||||
echo "======================================"
|
||||
echo "AI Service (Python) 시작"
|
||||
echo "======================================"
|
||||
|
||||
# 가상환경 활성화 (선택사항)
|
||||
# source venv/bin/activate
|
||||
|
||||
# 의존성 설치 확인
|
||||
if [ ! -d "venv" ]; then
|
||||
echo "가상환경이 없습니다. 생성 중..."
|
||||
python3 -m venv venv
|
||||
source venv/bin/activate
|
||||
pip install -r requirements.txt
|
||||
else
|
||||
source venv/bin/activate
|
||||
fi
|
||||
|
||||
# .env 파일 확인
|
||||
if [ ! -f ".env" ]; then
|
||||
echo ".env 파일이 없습니다. .env.example을 복사합니다."
|
||||
cp .env.example .env
|
||||
echo "⚠️ .env 파일에 실제 API 키를 설정해주세요."
|
||||
fi
|
||||
|
||||
# FastAPI 서버 시작
|
||||
echo "======================================"
|
||||
echo "FastAPI 서버 시작 중..."
|
||||
echo "Port: 8086"
|
||||
echo "======================================"
|
||||
|
||||
python3 main.py
|
||||
Reference in New Issue
Block a user