2010-08-25 9 views
27

He encontrado muchos artículos que me muestran lo que es EventMachine y cómo configurar interminablemente "¡Hola, mundo!" ejemplos, pero todavía no sé cómo se integra esto con mi aplicación Rails.¿Cómo se integra EventMachine & Rails?

Como ejemplo, tengo una aplicación Rails existente que tiene muchos usuarios simultáneos que pueden estar editando la misma fila en mi base de datos simultáneamente. Pensaba que permitiría que dos (o más) personas cargaran el registro, pero notificaría a esos usuarios si el registro se actualizaba y obligaría a estos últimos a reconciliar los cambios conflictivos antes de guardarlos nuevamente en la base de datos. Estaba pensando que podría manejar las notificaciones y reconciliaciones usando Javascript en el lado del cliente y websockets (o sockets de memoria) para comunicarse con el navegador (en el caso de que otro usuario actualice el registro, como una notificación de inserción, o algo así).

La última parte me llevó a EventMachine, pero, como indica mi pregunta de inicio, no sé cómo integrar esto en mi aplicación Rails.

¿Alguien puede darme una idea de esto (como, un buen punto de vista de nivel macro) o señalarme hacia algunos buenos recursos? (Aparte de EventMachine's wiki, ya que he estado allí).

Respuesta

5

Creo que this example de algunas configuraciones de async Rails también podría ayudarlo en su investigación de EventMachine como el uso de funciones en las aplicaciones. Sin embargo, no está completamente relacionado con EventMachine.

15

Pasé una cantidad considerable de tiempo investigando esto. EventMachine necesita ejecutarse como un hilo en la instalación de sus rieles (a menos que esté utilizando Thin) y hay algunas consideraciones especiales para Passenger. Escribí nuestra implementación aquí: http://www.hiringthing.com/2011/11/04/eventmachine-with-rails.html

+0

¡Yap, empujador es la mejor solución! – dormitkon

Cuestiones relacionadas