실무 가이드
실행 방식 선택
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 중 어떤 방식이 운영 표준인지 명확한가?