2011-04-05 2 views
3

이 질문은 간단한 질문 일 뿐이지 만 답변을 찾을 수있을 정도로 문서 주위에있는 길은 잘 모릅니다.얼랭 (Erlang) 메시지 큐는 프로세스 전체에서 지속됩니까?

OTP 관리자가 추락 한 후 gen_server를 다시 시작하면 새 하위 프로세스가 충돌 한 프로세스의 메시지 큐를 상속합니까? 아니면 충돌 전에 전송되었지만 아직 바닥에 떨어진 이전 자식이 처리하지 않은 메시지입니까?

답변

16

아니요, 프로세스는 이전 프로세스에서 설정 한 상태를 상속하지 않습니다. 감독자는 처음부터 그것을 시작하는 데 사용 된 것과 동일한 논증으로 프로세스를 재시작합니다.

상태를 복구하려면 이러한 상태가 영구적 인 방식으로 저장되어 있는지 확인해야합니다 (ETS 테이블, 디스크상의 파일, 데이터베이스 등).

+0

메시지 대기열은 시스템 상태가 아니라 프로세스 상태의 일부로 간주됩니까? – regularfry

+0

정확하고 규칙적입니다. –

관련 문제