문제

신청서 내에서 캐스케이드 감독자가 가능합니까?

예 : 감독자 sup1 감독자를 만드는 어린이 과정을 산란합니다 sup2 ?

도움이 되었습니까?

해결책

당신은 아마도 아이를 감독자로 추가하고 싶을 것입니다.

그것은 감독자의 자녀의 자녀의 입국입니다. 아동의 "유형"은 "감독자"로 설정할 수 있습니다.

http://www.erlang.org/doc/design_principles/sup_princ.html#spec

아마도 당신은 아마도 감독자 자체를 시작하는 아이를 통해 그것을 할 수 있지만 적어도 우아하지 않으며 당신이하고있는 일이 덜 분명합니다.

hth, h.

다른 팁

예, 감독자를 감독자의 자녀로 추가 할 수 있습니다. 또는 믹스 앤 매치. 나는 보통 이런 일을한다 :

(내 최고 수준의 감독자)

init([]) ->
    Args = [],
    ModuleArray = [get_info(Module, Args)
           || Module
              <- [emx_nodestate, emx_sup_data, emx_sup_util, emx_sup_api,
                  emx_flow]],
    {ok, {{one_for_one, 3, 1}, ModuleArray}}.

get_info(Module, Args) ->
    {Module, {Module, start_link, [Args]}, permanent, 10000,
     worker, [Module]}.

그리고 emx_sup_data (행동 감독자)와 같은 것은 다음과 같이 포함됩니다.

init([]) ->
    Args = [],
    ModuleArray = [get_info(Module, Args)
           || Module <- [job_housekeep]],
    {ok, {{one_for_all, 3, 1}, ModuleArray}}.

get_info(Module, Args) ->
    {Module, {Module, start_link, [Args]}, permanent, 10000,
     worker, [Module]}.

그리고 emx_nodestate와 같은 것 (행동 gen_server)

init([]) ->
    {ok, #state{status=starting, interested=[]}}.

꿈처럼 작동합니다 ...!

다른 사람들이 앱을 구조화하는 방법을 확인하려면 왜 쉘을 발사하고 도구 모음을 실행하지 않는 이유를 확인하십시오.

toolbar:start()

그것은 당신에게 감독자 상속장의 그래픽보기를 제공합니다. 커널 감독자 트리 또는 MNESIA 또는 YAWS를 간단히 살펴보면 '정상적인'감독자 트리가 어떻게 보이는지 보여줍니다.

귀하는 응용 프로그램 감독자가 감독하는 하위 시스템의 응용 프로그램을 작성합니다. 각 하위 시스템은 하위 시스템 감독자 하의 많은 하위 하위 시스템 일 수 있습니다 (세분성이 부족할 때까지 재귀 적 기능 방식으로 패턴을 계속 적용하십시오 ...)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top