OTP を学習するために map/reduce ワード カウンターを作成しています。レデューサーを開始できる simple_one_for_one スーパーバイザーを作成しました。すべてのキーについて、すでに子が存在するかどうかを確認したいと思います。存在しない場合は、スーパーバイザーに子を作成させます。
私は現在、次のようにスーパーバイザー モジュールで子を開始します。
start_child(Key) ->
supervisor:start_child(?SERVER, [Key]).
私はこのようなことをしたいと思います(未テスト):
start_child(Key) ->
case supervisor:child_pid(Key) of
Pid -> Pid;
_ -> supervisor:start_child(?SERVER, [Key])
end.
Key の子が既に存在するかどうかを調べる OTP の良い方法は何ですか?