mirror of
https://github.com/hwanny1128/HGZero.git
synced 2025-12-06 09:06:24 +00:00
48 lines
1.4 KiB
Bash
48 lines
1.4 KiB
Bash
#!/bin/bash
|
|
# RAG 서비스 - API 서버와 Event Hub Consumer 동시 실행 스크립트
|
|
|
|
set -e # 에러 발생 시 스크립트 종료
|
|
|
|
echo "=========================================="
|
|
echo "RAG 서비스 시작"
|
|
echo "=========================================="
|
|
|
|
# 로그 디렉토리 생성
|
|
mkdir -p logs
|
|
|
|
# Event Hub Consumer를 백그라운드로 실행
|
|
echo "[1/2] Event Hub Consumer 시작..."
|
|
python start_consumer.py > logs/consumer.log 2>&1 &
|
|
CONSUMER_PID=$!
|
|
echo "Consumer PID: $CONSUMER_PID"
|
|
|
|
# API 서버 시작 (포그라운드)
|
|
echo "[2/2] REST API 서버 시작..."
|
|
python -m uvicorn src.api.main:app --host 0.0.0.0 --port 8000 &
|
|
API_PID=$!
|
|
echo "API Server PID: $API_PID"
|
|
|
|
# PID 파일 저장
|
|
echo $CONSUMER_PID > logs/consumer.pid
|
|
echo $API_PID > logs/api.pid
|
|
|
|
echo "=========================================="
|
|
echo "RAG 서비스 시작 완료"
|
|
echo " - API Server: http://0.0.0.0:8000"
|
|
echo " - Consumer PID: $CONSUMER_PID"
|
|
echo " - API PID: $API_PID"
|
|
echo "=========================================="
|
|
|
|
# 종료 시그널 처리 (graceful shutdown)
|
|
trap "echo 'Shutting down...'; kill $CONSUMER_PID $API_PID; exit 0" SIGTERM SIGINT
|
|
|
|
# 두 프로세스 모두 실행 중인지 모니터링
|
|
while kill -0 $CONSUMER_PID 2>/dev/null && kill -0 $API_PID 2>/dev/null; do
|
|
sleep 5
|
|
done
|
|
|
|
# 하나라도 종료되면 모두 종료
|
|
echo "One of the processes stopped. Shutting down all..."
|
|
kill $CONSUMER_PID $API_PID 2>/dev/null || true
|
|
wait
|