2ノード以上に分散したアプリケーションがあります。最初のノードを停止()するとフェイルオーバーは完全に機能しますが、最初のノードを再起動するとテイクオーバーが失敗し、start_linkの戻りがすでに開始されているためアプリケーションがクラッシュします。フェールオーバーが成功した後にErlang Takeoverが失敗する
SUPERVISOR REPORT <0.60.0> 2009-05-20 12:12:01
===============================================================================
Reporting supervisor {local,twitter_server_supervisor}
Child process
errorContext start_error
reason {already_started,<2415.62.0>}
pid undefined
name tag1
start_function {twitter_server,start_link,[]}
restart_type permanent
shutdown 10000
child_type worker
ok
マイアプリ
start(_Type, Args)->
twitter_server_supervisor:start_link(Args).
stop(_State)->
ok.
上司:
start_link(Args) ->
supervisor:start_link({local,?MODULE}, ?MODULE, Args).
両方のノードが同じsys.configファイルを使用しています。
このプロセスについて、私は上記のことがうまくいかないと理解していませんか?
このようにうまく書式設定されたsasl supervisorレポートがどこに届いているのですか?もっと読みやすく、デフォルトです。あなたはそれまたはそのソースにリンクを共有することはできますか? – gleber
これは、erl_12Bのウィンドウボックスにrb:show(N)で表示される標準的な結果です。 私が見た唯一のバリエーションは、rpc経由で呼び出しを行うと、出力にノード名があふれていますか?何を見ていますか? –