종료 신호 구성하기
종료 신호 구성하기 (Configure exit signals)
신호를 지원하는 운영 체제에서 노마드는 애플리케이션을 종료하기 전에 구성 가능한 신호를 보내요. 이는 애플리케이션에 종료 전에 연결을 정상적으로(drain) 끊고 다른 정리를 수행할 시간을 줘요. 일부 애플리케이션은 다른 것보다 드레인하는 데 더 오래 걸리므로, 노마드는 강제 종료 전에 애플리케이션이 종료되기를 기다리는 시간을 지정할 수 있게 해요.
노마드가 애플리케이션을 종료하기 전에 프로세스에 SIGINT 신호를 보내요. 노마드 아래에서 실행되는 프로세스는 이 신호에 응답해 연결을 정상적으로 드레인해야 해요. 구성 가능한 타임아웃이 지나면 애플리케이션이 강제 종료돼요.
보내는 신호는 kill_signal 작업 파라미터로 구성할 수 있고, 작업이 강제 종료되기 전의 타임아웃은 kill_timeout으로 구성할 수 있어요.
job "docs" {
group "example" {
task "server" {
# ...
kill_timeout = "45s"
}
}
}
Docker 기반 작업의 경우 동작이 약간 달라요. 노마드는 지정된 kill_timeout으로 docker stop 명령을 실행해요. docker stop이 컨테이너 엔트리포인트에 보내는 신호는 STOPSIGNAL 구성 지시어로 구성할 수 있지만, 기본값은 SIGTERM이라는 점을 유의해 주세요.
출처: 문서