Pregunta

En el código se ejecuta colas de tareas para conectar con el lado del servidor a través de extracción de URL. Mi archivo queue.yaml.

queue: 
- Name: default 
   rate: 10 / m 
   bucket_size: 1 

En este tipo de configuración, Colmillo realiza de una sola vez, de forma simultánea. La especificidad es la que existe entre las peticiones debe retrasarse al menos 5 sec . Tarea debe realizarse en etapa con una diferencia> 5 seg. (pero no paralelos).

¿Cuáles son los valores establecidos en queue.yaml?

¿Fue útil?

Solución

No se puede especificar demoras mínimas entre tareas en queue.yaml, en la actualidad; debe hacerlo (en parte) en su propio código. Por ejemplo, si se especifica un tamaño de cubo de 1 (de modo que más de una tarea nunca debe estar ejecutándose a la vez) y asegúrese de que las tareas se ejecuta durante al menos 5 segundos (obtener una start=time.time() al comienzo, time.sleep(time.time()-(5+start)) al final) este Deberia trabajar. Si no es así, que cada registro de tarea en la tienda de la marca de tiempo se terminó, y cuando se inicia comprobar si la última tarea terminó hace menos de 5 segundos, y en ese caso terminará inmediatamente.

Otros consejos

La otra manera podría ser almacenar los datos de las tareas en la tabla. En su tarea-cola de añadir un parámetro id. Fetch primera tarea de la mesa y pasar su ID de servlet de procesamiento de cola de tareas. En servlet en el retardo de extremo para 5 segundos y la tarea siguiente feth, pasar su ID y .... así sucesivamente.

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