나는 simple_one_for_one 전략을 가진 감독자 하나와 거기에 동적으로 추가 된 많은 작업자 자식이있는 테스트 응용 프로그램을 만들고 있습니다. 자식이 정상적으로 종료 할 때 호출 될 관리자에서 콜백을 구현하는 방법 (또는 메시지를받는 방법)?자식 정상 종료를위한 관리자 콜백
주요 목표는 다른 프로세스에 모든 감시 대상 작업자 프로세스가 완료되었음을 알리고 최종 보고서를 보여줄 시간입니다.
그런 종류의 동작을 어떻게 디자인합니까? 감독자와 gen_server를 결합한 자체 동작을 만들어야합니까, 아니면 표준 otp 동작으로이 작업을 수행 할 수있는 방법이 있습니까?
모니터가 좋은 점입니다. 그러나 궁금한 점이 있다면 감독관이 추락 한 다음 재시작하는 경우 작업자 프로세스를 "재 점검"하는 방법이 궁금합니다. 재시작 후 작업자가 새로운 Pid를 가지고 있고, 새로운 Pid에 프로세스를 모니터링 할 수있는 방법이 필요합니다. – Aler
2 가지 방법. 이름 레지스트리 (예 : 글로벌 또는 gproc 또는 사용자 자신의 롤)를 사용하고 각 프로세스를 등록하거나 일시 중지시키고 재시작을 처리해야하는 타사가 있어야 PID에 액세스하여 모니터를 설정할 수 있습니다. –