2008-11-24 22 views
8

¿Alguien ha hecho una comparación de la sobrecarga de las diversas técnicas de procesamiento en segundo plano?Rails Tarea de fondo de la tarea

Antecedentes/RB, Starling, Workling MemcacheQ Beanstalk Antecedentes de empleo (Bj) delayed_job (Dj)

que pondrá en práctica uno de ellos en una rebanada y me gustaría saber la cantidad de memoria que usan para que pueda factorizarlo en mi toma de decisiones.

+0

Actualmente, Sidekiq es una mejor opción. Lea más información aquí, https://github.com/mperham/sidekiq/wiki –

Respuesta

4

que va a variar dependiendo de la aplicación Rails en sí.

La mayor parte de estos procesadores dependen de sus objetos Rails cargar esencialmente toda la instancia de rieles en la memoria. La memoria de su aplicación dependerá de la cantidad de modelos, el impacto de los complementos y las condiciones climáticas imperantes en su entorno.

Tuve una porción 256mb correr varios mestizos y BackgroundRB y encontraron que el proceso en segundo plano utiliza aproximadamente la misma memoria como una instancia Mestizo.

Una opción siempre me ha gustado es poner su lógica programada en un controlador y llamar a esta vía Cron usando wget o curl. Aprovecha la aplicación de Rails existente y hay muy poca sobrecarga para configurarla. La única razón por la que no fui con esta opción en el caso anterior era un requisito para golpear la cola cada 5 segundos (Cron solo puede ejecutar cada minuto).

7

que habría también esté interesado en una comparación exhaustiva, pero una cosa que puedo decir es que BackgroundRB se considera desaprobado por su autor. En EngineYard recomiendan específicamente BackgroundJob después de haber tenido problemas insolubles con BackgroundRB. Sin embargo, no he oído nada sobre las otras opciones que mencionas.

+0

Esta es la primera vez que escucho sobre eso. Gracias a ti por mencionarlo. –

2

Para un bajo mantenimiento, me gusta el trabajo en segundo plano. Se ejecuta en el proceso de Rails o vía cron, por lo que no hay procesos de daemon para monitorear. En mi servidor, Bj actualmente usa 35636 RSS (aproximadamente un proceso de Rails vale).

Siempre me sorprende cuando oigo hablar de personas que utilizan BackgrounDRB porque es básicamente sin mantenimiento.

+0

Me parece activamente mantenido. – Tilendor

Cuestiones relacionadas