2011-11-08 4 views
1

定期的に発生するイベントを伴うOTPアプリケーションがあります。イベントに応じて何かをしたいと思っているアクターがいくつかあります。それぞれの俳優がすることは、それ自身の状態の関数ですが、それ以外は同じです。異なる状態の同じイベントハンドラの多くのインスタンスを使用するにはどうすればよいですか?

私の問題は、この設定を監督ツリーに組み込む方法です。私は各アクタがイベントハンドラであるgen_eventマネージャを持っています。これは、gen_event監督が奇妙であるという事実でない場合にはうまくいくでしょう。私の最初のハンドラがadd_sup_handlerだと、残りはalready_startedで失敗し、イベントハンドラの監督者として働いている私のgen_serverが死ぬ。

ここで何をすればよいですか?私はすべての俳優とその状態を把握できる自分のイベントマネージャーを書くべきだと思っています。

答えて

2

gen_event:add_handler/3

ハンドラがコールバックモジュールModuleまたはIdは、任意の用語であるタプル {Module,Id}の名前です。 {Module,Id}の表現 は、同じコールバックモジュールを使用する複数のイベントハンドラがある場合、特定のイベントハンドラを識別することを可能にします。

関連する問題