2010-07-11 30 views
8

estoy tratando delayed_job ahora, y tengo algunas preguntas.Algunas preguntas básicas sobre 'delayed_job'

Desde la página http://github.com/collectiveidea/delayed_job, puedo ver algo de información:

Los trabajadores pueden estar ejecutándose en cualquier ordenador, siempre y cuando tengan acceso a la base de datos y su reloj está en sincronización. Tenga en cuenta que cada trabajador comprobará la base de datos al menos cada 5 segundos.

  1. Cuando invoco rake jobs:work vez, se creará UNO trabajador, ¿verdad?

  2. Cuando un trabajador comprueba la base de datos, se leerá TODAS nuevas y fallidas tareas CADA VEZ, y ejecutarlos?

  3. dice que un trabajador se compruebe la base de datos cada 5 segundos, que pueden hacer que 2 segundos?

  4. Cuando creo un trabajador (rake jobs:work), ya hay 10 tareas en la base de datos, y cada una tomará 3s. ¿Cuántos procesos creará DelayedJob? ¿Y cuántos segundos necesitan en total?

Respuesta

13
  1. Delayed::Worker.sleep_delay = 2
  2. 1 trabajador trabajará en cada tarea, a su vez, pasa o no antes de pasar al siguiente. 30 segundos en total + sin embargo el tiempo de 9 retrasos de sueño es para el tiempo total (45 segundos por defecto). No estoy seguro de cómo responder a su pregunta sobre los procesos. Se crea 1 trabajador, que es un proceso. Se pueden crear cero o más procesos diferentes, según el trabajo que se vaya a ejecutar.
+0

@ x1a4, gracias. ¿Y podría ver mi pregunta actualizada, hay una pregunta más :) – Freewind

+0

¿Hay alguna forma de acelerar? Quiero decir, ¿se pueden ejecutar estas tareas en paralelo? – Freewind

+0

ejecutar varios trabajadores – x1a4

Cuestiones relacionadas