Pregunta

Gracias por echar un vistazo a esto.

Soy nuevo en Rails, desafortunadamente. Actualmente tengo que implementar un punto final al que SuperFeedr pueda impulsar las actualizaciones, pero ese punto final debe estar en un controlador Rails.

Inicialmente me pareció que este debería ser un trabajo de fondo que se ejecuta y el resto de la web tiende a estar de acuerdo, pero estoy siendo presionado para incluir esto como un controlador Rails, lo que me confunde. No estoy seguro de cómo incluir EventMachine en un ciclo de solicitud/respuesta.

Sé que la web está llena de ejemplos, pero ninguno responde realmente a mi pregunta con cómo enrutar esto. No tengo ni idea.

Tengo un controlador Rails, llamado Superfeeds. Quiero que Superfeeder presente actualizaciones a algo como Myrailsapp/Superfeeds/

Feeds internos quiero inspeccionar el contenido empujado y luego escribir los resultados de eso a otro controlador que realmente tiene un modelo y lo persistirá.

Básicamente, el controlador llamado Feeds solo necesita recibir y pasar la información. Sin embargo, esto me confunde porque parece tener que implementar algo que sea un proceso de larga duración dentro de un controlador Rails, y ni siquiera estoy seguro de si esto puede funcionar.

¿Alguien sabe de una manera que esto se ha hecho con Rails, pero no usa EventMachine como un trabajo de fondo? Al final realmente solo necesito saber que esto es posible.

-La

¿Fue útil?

Solución

Feeds internos quiero inspeccionar el contenido empujado y luego escribir los resultados de eso a otro controlador que realmente tiene un modelo y lo persistirá.

¿Por qué no hacer todo el trabajo en el único controlador? Si está tratando de separar diferentes preocupaciones, incluso podría usar dos modelos, por ejemplo, uno para inspeccionar/analizar y otra para manejar la persistente. Pero rara vez necesitaría o querría pasar datos del controlador al controlador.

No estoy seguro de cómo incluir EventMachine en un ciclo de solicitud/respuesta.

Nunca usé superfeedr, pero miró los documentos rápidamente: ¿está usando el cliente XMPP o PubSubHubBub? ¿Asumo lo último? Si es así, desea hacer la persistencia (y cualquier otro proceso que consuma mucho tiempo) async (fuera de la solicitud/ciclo respect), ¿verdad?

Si está utilizando un servidor web de eventmachine como delgado, básicamente cada ciclo de solicitud se ejecuta dentro de un reactor EM. Por lo tanto, puede utilizar las instalaciones de EM para descargar tareas, como el grupo de hilos diferidos. Para ver un ejemplo de esto en acción, consulte Enigmamachine, En particular aquí. (Creo que además su biblioteca de clientes de DB debe ser asíncrona).

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