Pregunta

Tengo un proceso de administrador de eventos que distribuye eventos a los suscriptores (por ejemplo, http_session_created, http_sesssion_destroyed). Si se usa Pid en lugar de un proceso con nombre, debo ponerlo en funciones para operar con el administrador de eventos, pero si se usa un proceso con nombre, el código será más claro.

¿Qué variante es la correcta?

¡Gracias!

¿Fue útil?

Solución

Si bien no hay una diferencia real en el proceso de nombrar un proceso, registrarlo lo hace global. En esencia, le está diciendo al sistema que aquí hay un servicio global que cualquiera puede usar.

Según su descripción, parece que les está dando nombres para guardar el pequeño esfuerzo de llevarlos en su bucle. Si este es el caso, pondría sus pids en un registro con todos los demás datos de estado que llevas. Esto indica mucho mejor el tipo de procesos.

Otros consejos

Si tiene un conjunto fijo de "suscriptor" procesos, luego use nombres registrados IMO.

Si, por el contrario, tiene un tipo de arquitectura de publicación / suscripción donde los suscriptores van y vienen, entonces necesita una infraestructura para rastrearlos y desde este punto realmente no importa si usa Pid () o nombres .

Una de las desventajas de usar nombres registrados es que necesita rastrearlos en la base de su código para evitar colisiones " ;. Entonces depende de usted: personalmente, tiendo a favorecer los procesos con nombre, ya que, como usted dice, hace que la lectura del código sea más clara. De una forma u otra, a OTP no le importa.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top