[예측] - OpenDrift Python API 서버 및 스크립트 추가 (prediction/opendrift/) - 시뮬레이션 상태 폴링 훅(useSimulationStatus), 로딩 오버레이 추가 - HydrParticleOverlay: deck.gl 기반 입자 궤적 시각화 레이어 - OilSpillView/LeftPanel/RightPanel: 시뮬레이션 실행·결과 표시 UI 개편 - predictionService/predictionRouter: 시뮬레이션 CRUD 및 상태 관리 API - simulation.ts: OpenDrift 연동 엔드포인트 확장 - docs/PREDICTION-GUIDE.md: 예측 기능 개발 가이드 추가 [CCTV/항공방제] - CCTV 오일 감지 GPU 추론 연동 (OilDetectionOverlay, useOilDetection) - CCTV 안전관리 감지 기능 추가 (선박 출입, 침입 감지) - oil_inference_server.py: Python GPU 추론 서버 [관리자] - 관리자 화면 고도화 (사용자/권한/게시판/선박신호 패널) - AdminSidebar, BoardMgmtPanel, VesselSignalPanel 신규 컴포넌트 [기타] - DB: 시뮬레이션 결과, 선박보험 시드(1391건), 역할 정리 마이그레이션 - 팀 워크플로우 v1.6.1 동기화 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
48 lines
1.7 KiB
Bash
48 lines
1.7 KiB
Bash
#!/bin/bash
|
|
# start_server.sh - FastAPI 서버를 백그라운드에서 시작하는 스크립트
|
|
|
|
# 사용할 PID 파일 및 로그 파일 이름 정의
|
|
PID_FILE="server.pid"
|
|
LOG_FILE="uvicorn.log"
|
|
|
|
# uvicorn 명령 (가상환경이 활성화되어 있어야 함, 또는 venv 경로를 명시해야 함)
|
|
# 예를 들어, venv/bin/uvicorn main:app --host 0.0.0.0 --port 8000
|
|
UVICORN_CMD="uvicorn api:app --host 0.0.0.0 --port 5003 --workers 1"
|
|
|
|
# ----------------------------------------------------
|
|
|
|
echo "--- FastAPI 서버 시작 스크립트 ---"
|
|
|
|
# 서버가 이미 실행 중인지 확인 (PID 파일 존재 여부)
|
|
if [ -f "$PID_FILE" ]; then
|
|
PID=$(cat "$PID_FILE")
|
|
# PID가 실제로 실행 중인 프로세스인지 확인
|
|
if kill -0 "$PID" 2>/dev/null; then
|
|
echo "오류: 서버가 이미 PID $PID 로 실행 중입니다. 먼저 종료해주세요."
|
|
exit 1
|
|
else
|
|
echo "경고: 오래된 PID 파일($PID_FILE)을 찾았습니다. 삭제하고 새로 시작합니다."
|
|
rm -f "$PID_FILE"
|
|
fi
|
|
fi
|
|
|
|
echo "PID 파일 경로: $PID_FILE"
|
|
echo "로그 파일 경로: $LOG_FILE"
|
|
echo "명령어 실행: $UVICORN_CMD"
|
|
|
|
# uvicorn을 nohup을 사용하여 백그라운드 실행. 모든 출력을 로그 파일로 리다이렉트.
|
|
# $!는 백그라운드에서 실행된 명령어의 PID를 반환합니다.
|
|
nohup $UVICORN_CMD > "$LOG_FILE" 2>&1 &
|
|
|
|
# 백그라운드 프로세스의 PID를 파일에 저장
|
|
echo $! > "$PID_FILE"
|
|
NEW_PID=$(cat "$PID_FILE")
|
|
|
|
echo "====================================="
|
|
echo "서버가 성공적으로 백그라운드에서 시작되었습니다."
|
|
echo "새로운 PID: $NEW_PID"
|
|
echo "로그 확인: tail -f $LOG_FILE"
|
|
echo "종료 명령: ./stop_server.sh"
|
|
echo "====================================="
|
|
|