2012-01-30 14 views
5

Tengo un problema de error de Tiempo de espera cuando hago clic en el enlace Export to Excel en mi aplicación, debido a las transacciones db pesadas. Quiero cambiar esta funcionalidad al fondo para que el usuario pueda avanzar mientras se ejecuta el proceso en segundo plano. Quiero cuando el usuario hace clic en Export to Excel se ejecuta el proceso de fondo de enlace/nuevo hilo y se envía un correo electrónico al usuario con un enlace para descargar un archivo. Quiero saber cuál es la mejor manera de lograr esto Crear un nuevo hilo o proceso en segundo plano?Rieles Creación de nuevo subproceso o proceso en segundo plano

Gracias de antemano

Respuesta

0

Hay tres tipos de colas de mensajes,

  1. Sin colas: se desencadenará un nuevo subproceso/proceso para la tarea en segundo plano, por ejemplo: spawn
  2. Basado en la base de datos: la tarea correspondiente se almacenará en una tabla de la base de datos y se eliminará automáticamente al finalizar, por ejemplo: backgroundrb, trabajo demorado
  3. Las colas de mensajes - Los trabajos almacenados en la memoria, por ejemplo: Starling

no he utilizado resque, pero oído que es poco complicado de configurar. Además de ejecutar tareas en segundo plano, si desea ejecutar algunas tareas repetitivas en intervalos regulares, puede utilizar backgroundrb. De lo contrario, el trabajo retrasado será la elección correcta.

Cuestiones relacionadas