Pregunta

Tengo una aplicación utilizando los carriles mongodb través MongoMapper y todo está bien. El problema es ... que voy a querer usar Erlang para hacer algo de procesamiento en segundo plano y quiero actualizar el mismo mongo / modelos MongoMapper con los resultados de este proceso. ¿Cuál es la mejor manera de definiciones del modelo de la cuota entre las dos aplicaciones (rieles y Erlang) y permanecer cuerdo? Parece que sería problemático para tratar de manejarlos por separado si los dos están acceder a los mismos registros. Si no hay manera de "bueno", simplemente estoy acercando a mal?

Otros detalles: que estaba haciendo originalmente el procesamiento en segundo plano usando Starling / workling clientes. Esto es muy bueno, ya que podría utilizar todos los mismos modelos de rieles y código. El rendimiento era terrible, aunque por lo que estoy buscando a Erlang para resolver algunos de los problemas de eficiencia. Es una gran cantidad de datos que se está procesando, pero se puede procesar fácilmente en paralelo.

Estoy tratando de evitar el uso de Erlang como el único mediador entre mongodb y los carriles a través de una interfaz de reposo o de segunda mano.

Editar que quería brillar un poco más de luz sobre esto. El procesamiento de Erlang necesitará saber un poco acerca de los modelos de antemano. básicamente estoy usando Erlang para extraer datos de otros lugares y completar los detalles de los objetos del modelo. Así, por ejemplo, puede haber un campo de descripción que estoy raspando desde un archivo XML utilizando xmerl_xpath: cadena ( "// Descripción / texto ()"). Tengo que ser capaz de añadir métodos como éste, que actuará sobre los campos del modelo.

¿Fue útil?

Solución

MongoDB tiene dos apoyada por la comunidad-Erlang conductores (erlmongo y emongo). Acceso a su mongodb través de los conductores le dará objetos Erlang nativos.

Ruby -> MongoMapper -> Mongo controlador rubí -> MongoDB -> (emongo | erlmongo) -> Erlang

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