¿Cuál es la mejor forma de ejecutar las tareas asíncronas en una aplicación Rails?

StackOverflow https://stackoverflow.com/questions/124360

  •  02-07-2019
  •  | 
  •  

Pregunta

Sé que hay varios plugins que hacen el procesamiento asincrónico.Cual es el mejor y por qué?

Los que conozco son:

¿Fue útil?

Solución

starling y workling parecen bastante interesantes (véase el screencast) si usted tiene varias de este proceso, y desea cola de espera.

usted también podría estar interesado por el anterior screencast que el uso de un rastrillo para el proceso en segundo plano, y por el futuro que probablemente será sobre otra solución a la misma pregunta.

Otros consejos

Voy a agregar DJ (Retraso en el Trabajo) a la lista - http://blog.leetsoft.com/2008/2/17/delayed-job-dj

El github chicos recientemente dio una gran revisión: http://github.com/blog/197-the-new-queue

Si algo es la "mejor" solución realmente depende de cuál es el problema que estás tratando de resolver.En algunos casos, la mejor solución será la más ligera de la solución, en otros el más pesado.

BackgroundRb es probablemente el más completo de los Rieles de fondo de trabajo del procesador, pero es también el más complicado, por lo que se requieren más inversión a familiarizarse con ella.BackgroundRb probablemente puede manejar la mayoría de los casos de uso, de lo simple a lo complejo.

He oído cosas muy buenas sobre Ara T.Howard Trabajo En Segundo Plano (Bj) que, para citar el archivo README es un cerebro muerto cero simple de administración de fondo de la cola de prioridad para los Raíles.Esta es mucho más ligero solución y puede ser preferible a BackgroundRb para la mayoría de los escenarios como resultado.

Si lo que quieres es una solución para poco frecuentes fuera de línea por lotes para procesar script/runner el que viene con todos los Rieles apps sería más que suficiente.

Para seguir leyendo es posible que desee buscar en HowToRunBackgroundJobsInRails a partir de la Rieles De La Wiki.

Resque puede ayudar a usted también.

Es una muy buena herramienta para la creación de trabajos en segundo plano, la colocación de los puestos de trabajo en varias colas, y su procesamiento posterior.

El Github chicos han creado y utilizan.

El artículo a continuación pueden ayudarle a empezar:

http://rubylearning.com/blog/2010/11/08/do-you-know-resque/

Starling + Workling plugin es muy sencillo.Además, utiliza Memcached es simple, probado y escalable.

BackgrounDRb - Pros:Completa, mensajería, los Contras:Roscado (eek - Rails no es seguro para subprocesos!), complejo

Demonio Generador - Pros:Simple, ejecuta trabajos y eso es todo!, Contras:Ninguno de los que la fantasía de mensajería cosas.

Hacemos uso de Cron.Fácil de configurar, fácil de mantener, y que Siempre Funciona.

BackgroundRb va a comer tu cerebro.

BackgrounDRb no es de rosca, esta completamente basada en el proceso.Sólo tiene una característica de los grupos de subprocesos que el usuario puede utilizar, si se quiere manejar IO obligado tareas simultáneamente.

Pruebe la versión 1.1 y déjame (en mi blog) o en la lista de correo de saber acerca de cualquier problema.

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