我有一个主管(称为 alice),它启动了一堆 of_one_for_one 工人。现在我想获得一些关于所有作品的信息。例如,假设工作人员是 TCP 服务器,我想获取工作人员使用的所有端口号,或连接到这些工作人员的所有远程地址。我应该把这个功能放在哪里?
Supervisor 没有 gen_server 功能,无法接听电话。因此,在我看来,最合理的方法是让另一个主管(称为 bob)产生主管 alice 和另一个 gen_server(charile),它通过调用主管:which_children(alice)然后询问来实现 {get, ports_used_by_alices_workers} 等调用每个爱丽丝的孩子都是为了它的港口。因此,charile 是爱丽丝的兄弟姐妹,并接听有关爱丽丝孩子的电话。那样可以么?还是有更优雅的方式来做到这一点?