Pregunta

Tengo una situación temporal donde transmitir archivos compilados en un nodo son ejecutadas en otro nodo. Son los archivos portables del haz?

¿Qué tan cerca las versiones de las distribuciones Erlang tienen que ser?

¿Fue útil?

Solución

Los archivos Beam son nodos a través de portátiles, ya que son de código de bytes que se interpreta por el Erlang VM, de la misma manera que Java funciona. La excepción es si están compilados para la optimización nativa (+ nativo), en cuyo caso, obviamente, no son muy portátiles, aparte de posiblemente entre máquinas de las ventanas. (Editar dos años más tarde: también las máquinas que tienen configuraciones de hardware y software idénticos, como se puede encontrar posiblemente en telecomunicaciones utiliza de Erlang)

Versión sabia, es obvio que no se debe utilizar las funciones que la versión más antigua no admite. Siempre y cuando las características son compatibles, que debería funcionar incluso si la brecha es grande versión.

Tenga en cuenta también que algunos módulos hayan sido experimentales en las versiones anteriores, por lo que sus funciones pueden haber tenido resultados ligeramente diferentes.

Otros consejos

Los archivos de las vigas debe ser a través de nodos bastante portátiles. Si nodos ejecutan diferentes versiones de la máquina virtual de Erlang, entonces usted podría tener problemas. Características a ser especialmente cuidadoso de incluir el uso de módulos con parámetros y los -extends () de atributos módulo. Si una de las máquinas está ejecutando una máquina virtual que se instala a través de un gestor de paquetes (es decir apt), es probable que sea de edad. Un módulo que he tenido dificultades en el pasado es la normal re módulo de expresión.

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