본문으로 건너뛰기

실무 가이드

실행 방식 선택

HandStack은 환경에 따라 여러 방식으로 실행할 수 있습니다.

  • 개발 PC: 직접 ack 실행 또는 IDE 디버깅
  • Windows 서버: IIS Application Pool을 통한 실행
  • Linux 서버: pm2, systemd, Docker 등을 통한 실행
  • 컨테이너: Docker 이미지와 볼륨을 통한 실행

방식이 달라도 프로세스가 읽는 설정과 모듈 경로는 일관되어야 합니다.

pm2 사용 기준

pm2를 사용할 때는 ack를 명명된 프로세스로 등록하고, 시작/중지/재시작 명령을 스크립트화합니다.

pm2 start <ack 실행 파일> --name ack --no-autorestart
pm2 stop ack

모듈별 task.ps1, task.bat, task.sh는 이런 프로세스 제어를 자동화하는 데 사용할 수 있습니다.

IIS 사용 기준

IIS에서는 Application Pool이 프로세스 수명 주기를 관리합니다. 배포 중 파일 잠김을 피하려면 앱 풀 중지, 파일 교체, 앱 풀 시작 순서를 지킵니다.

%windir%\system32\inetsrv\appcmd stop apppool /apppool.name:"<앱 풀 이름>"
%windir%\system32\inetsrv\appcmd start apppool /apppool.name:"<앱 풀 이름>"

체크리스트

  • 현재 실행 중인 ack의 포트와 설정 파일을 알고 있는가?
  • 프로세스 재시작 후에도 업무 상태가 복구되는가?
  • 장기 데이터가 프로세스 메모리에만 남아 있지 않은가?
  • 프로세스 시작/중지 명령이 문서화되어 있는가?
  • IIS, pm2, Docker 중 어떤 방식이 운영 표준인지 명확한가?