// PM2 설정 파일
// 사용법:
//   npm install -g pm2
//   pm2 start ecosystem.config.js
//   pm2 restart pharmacy
//   pm2 stop pharmacy
//   pm2 logs pharmacy

module.exports = {
  apps: [
    {
      name: 'pharmacy',
      script: 'backend/app.py',
      interpreter: 'python',
      cwd: __dirname,
      
      // 환경 설정
      env: {
        FLASK_ENV: 'development',
        PYTHONIOENCODING: 'utf-8'
      },
      env_production: {
        FLASK_ENV: 'production'
      },
      
      // 재시작 설정
      watch: false,                    // 파일 변경 감지 (개발 시 true)
      max_restarts: 10,                // 최대 재시작 횟수
      restart_delay: 3000,             // 재시작 딜레이 (3초)
      
      // 로그 설정
      log_date_format: 'YYYY-MM-DD HH:mm:ss',
      error_file: 'logs/pm2-error.log',
      out_file: 'logs/pm2-out.log',
      merge_logs: true,
      
      // 인스턴스 설정
      instances: 1,                    // 단일 인스턴스
      exec_mode: 'fork',
      
      // 메모리 제한
      max_memory_restart: '500M'
    }
  ]
};
