Tengo un módulo lógico que le dice a un supervisor que inicie procesos secundarios. Necesito almacenar esos pid de niños en el estado de módulos lógicos. Pero también necesito actualizar un pid de childs si el supervisor lo reinicia.Registrar un hijo en el proceso que inició la llamada start_child
Así que no puedo usar el valor de retorno pid de la llamada start_child, ya que eso solo me dará el pid en el primer inicio, no en el reinicio. En este momento hago que el proceso hijo invoque una función de registro (estado de actualización con el nuevo pid) en el módulo lógico de la función init del niño. De esta forma, el módulo lógico puede actualizar el pid en su estado cada vez que se reinicia un proceso. El módulo lógico es gen_server y estoy haciendo un yeso cuando registro el proceso hijo.
¿Alguien puede ver un problema con esto y hay alguna otra forma más "adecuada" de hacerlo?