2008-09-23 18 views

Respuesta

8

starling y workling parecen bastante interesantes (ver screencast) si es posible que tenga varios de estos procesos, y desea ponerlos en cola.

, también podría estar interesado en el previous screencast que utiliza rake para el proceso en segundo plano, y en el futuro probablemente sea otra solución a la misma pregunta.

+0

Esto es lo que terminé usando, mucho más simple que BackgrounDRb especialmente con el screencast. – Otto

3

BackgrounDRb - Pros: Con todas las funciones, mensajería, Contras: roscado (! Eek - Carriles no es hilo de seguridad), complejo

Daemon Generator - Pros: Simple, ejecuta trabajos y eso es todo !, Contras: Ninguna de esas cosas elegantes de mensajería.

7

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

BackgroundRb es probablemente el procesador de trabajo de fondo Rails con más funciones, pero también es el más complicado, por lo que requerirá más inversión para poder manejarlo. BackgroundRb probablemente puede manejar la mayoría de los casos de uso, desde lo simple a lo complejo.

he oído cosas muy buenas acerca de Ara T. Howard Background Job (Bj) que, por citar el README es un cerebro cero administrador fondo cola de prioridad muerto simple de rieles. Esta es una solución mucho más ligera y, como resultado, puede ser preferible a BackgroundRb para la mayoría de los escenarios.

Si todo lo que quiere es una solución para el procesamiento infrecuente de estilo de lote fuera de línea, entonces script/runner que viene con todas las aplicaciones de Rails sería más que adecuado.

Para obtener más información es posible que desee mirar HowToRunBackgroundJobsInRails desde el Rails Wiki.

1

Utilizamos Cron. Fácil de configurar, fácil de mantener y siempre funciona.

BackgroundRb se comerá el cerebro.

3

El complemento Starling + Workling es muy simple. Además, usa Memcached que es simple, probado y escalable.

0

BackgrounDRb no está enhebrado, se basa completamente en el proceso. Solo tiene una función de grupos de subprocesos que el usuario puede usar, si desea manejar tareas vinculadas de IO al mismo tiempo.

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

4

Resque puede ayudar, también.

Es una herramienta muy buena para crear trabajos en segundo plano, colocar esos trabajos en varias colas y procesarlos más tarde.

Los chicos de Github lo han creado y lo usan. a continuación

El artículo puede ayudarle a empezar:

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

Cuestiones relacionadas