Files
Document-AI-server/~/Library/LaunchAgents/com.nllb-translation-system.app.plist
hyungi 867c7f4bca feat: 24/7 무중단 운영을 위한 launchd 서비스 구축
- macOS의 launchd를 이용하여 AI 서버를 시스템 서비스로 등록
- 시스템 재부팅 시 서버 자동 시작 기능 구현
- 예기치 않은 오류 발생 시 서버 자동 재시작 기능 추가
- 서비스 로그를 logs/ 디렉토리에 자동으로 기록하도록 설정
- CODING_CONVENTIONS.md에 서버 운영 및 배포 가이드 상세히 문서화
2025-07-25 07:00:50 +09:00

38 lines
1.5 KiB
Plaintext

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<!-- 서비스의 고유 이름. 보통 역도메인 형식을 사용합니다. -->
<key>Label</key>
<string>com.nllb-translation-system.app</string>
<!-- 실행할 명령어와 인자들 -->
<key>ProgramArguments</key>
<array>
<!-- 1. 가상환경의 파이썬 실행 파일 경로 (절대 경로) -->
<string>/Users/hyungi/Scripts/nllb-translation-system/nllb_env/bin/python</string>
<!-- 2. 실행할 파이썬 스크립트 경로 (절대 경로) -->
<string>/Users/hyungi/Scripts/nllb-translation-system/src/fastapi_with_dashboard.py</string>
</array>
<!-- 스크립트의 작업 디렉토리 설정 (매우 중요) -->
<key>WorkingDirectory</key>
<string>/Users/hyungi/Scripts/nllb-translation-system</string>
<!-- 서비스를 로드할 때 바로 실행 -->
<key>RunAtLoad</key>
<true/>
<!-- 프로세스가 종료되면 자동으로 다시 시작 (무중단 운영의 핵심) -->
<key>KeepAlive</key>
<true/>
<!-- 표준 출력 로그 파일 경로 -->
<key>StandardOutPath</key>
<string>/Users/hyungi/Scripts/nllb-translation-system/logs/service.log</string>
<!-- 표준 에러 로그 파일 경로 -->
<key>StandardErrorPath</key>
<string>/Users/hyungi/Scripts/nllb-translation-system/logs/service_error.log</string>
</dict>
</plist>