私には、たくさんの_one_for_oneワーカーを開始するスーパーバイザー(アリスと呼ばれる)がいます。それでは、すべての作品について一緒に情報を入手したいと思います。たとえば、ワーカーがTCPサーバーであり、ワーカーが使用するすべてのポート番号、またはそれらのワーカーに接続されているすべてのリモートアドレスを取得したいとします。この機能はどこに置くべきですか?
スーパーバイザーにはgen_server機能がなく、呼び出しに応答できません。したがって、私には、最も合理的な方法は、スーパーバイザーアリスを生成する別のスーパーバイザー(bobと呼ばれる)と、supervisor:which_children(alice)を呼び出してから要求することにより、{get、ports_used_by_alices_workers}などの呼び出しを実装する別のgen_server(charile)を用意することです。ポートの各アリスの子。つまり、charileはアリスの兄弟であり、アリスの子供に関する電話に応答します。それは大丈夫ですか?または、これを行うためのよりエレガントな方法はありますか?