ためgen_eventグローバルを使用して:アーラン:私はそれをローカルに登録したときに、私はうまく私のイベントフレームワークを開始することができますリモートマネージャ
gen_event:start_link({local, foo_event_container}).
gen_event:add_handler(foo_event_container, foo_event_handler, []).
登録呼び出し()foo_event_containerを示しており、私はそれにメッセージを送信するとき、彼らは示してハンドラ内でしかし
、私は、ノードを再起動してみたときに
gen_event:start_link({global, foo_event_container}).
コンテナは表示されません)(登録、そして私はそれが私が
** exception exit: noproc
in function gen:call/4
in call from gen_event:rpc/2
は、Saslを取得 にハンドラを追加しようとすると、追加情報を提供していないので、この問題を尋ねると、コンテナを実行しているシェルが終了したと推測されます。これは、同じノードからアクセスしようとしているためです。
1)ここで何が起こっているのですか?
2)リモートコンテナを設計するのが最適か、または各サーバーがリモートコンテナにメッセージを送信するローカルコンテナを使用する方がよいでしょうか?
ありがとうございます!
はい! gen_event:add_handler({global、foo_event_container}、foo_event_handler、[])でグローバルタプルを使用すると、完璧に動作します。 (それがどこかで文書化されていれば素晴らしかった...) – tkersh
これも私を困惑させた。これについてのドキュメントがない理由が不思議です.... –
マニュアルを参照する必要がある場合は、[link](http://erlang.org/doc/man/global.html) –