ローカルに登録すると、イベント フレームワークを問題なく開始できます。
gen_event:start_link({local, foo_event_container}).
gen_event:add_handler(foo_event_container, foo_event_handler, []).
registered() を呼び出すと foo_event_container が表示され、それにメッセージを送信すると、ハンドラーに表示されます。
ただし、ノードを再起動して試してみると
gen_event:start_link({global, foo_event_container}).
registered() はコンテナーを表示しません。コンテナーにハンドラーを追加しようとすると、
** exception exit: noproc
in function gen:call/4
in call from gen_event:rpc/2
Sasl は追加情報を提供しません。この問題をグーグル検索すると、コンテナーを実行しているシェルが強制終了されたことが推測されますが、同じノードからアクセスしようとしているため、ここでは当てはまりません!
1) ここで何が起こっているのか、何か考えはありますか?
2) リモート コンテナーを使用するのが最適な設計ですか?それとも、すべてのサーバーがリモート プロセスにメッセージを送信するローカル コンテナーを使用する方がよいでしょうか?
ありがとう!