Domanda

Nel codice Task code viene eseguita per la connessione al lato server attraverso URL Fetch. Il mio file queue.yaml.

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

In tali impostazioni, Zanna eseguito tutto in una volta, allo stesso tempo. La specificità è che tra le richieste dovrebbe essere ritardata di almeno 5 sec . Compito deve effettuare sulla fase con una differenza> 5 sec. (ma non paralleli).

Quali sono i valori impostati in queue.yaml?

È stato utile?

Soluzione

Non è possibile specificare ritardi minimi tra le attività in queue.yaml, attualmente; si dovrebbe fare (in parte) nel proprio codice. Ad esempio, se si specifica una dimensione secchio di 1 (in modo che più di un compito non dovrebbe mai essere in esecuzione in una sola volta) e assicurarsi che le attività si estende per almeno 5 secondi (ottenere un start=time.time() alla partenza, time.sleep(time.time()-(5+start)) alla fine) questo dovrebbe funzionare. In caso contrario, avere ogni record di attività in negozio il timestamp è finito, e quando inizia controllare se l'ultima operazione si è conclusa a meno di 5 secondi fa, e in questo caso terminerà immediatamente.

Altri suggerimenti

L'altro modo potrebbe essere memorizzare i dati delle attività nella tabella. Nel vostro compito-coda di aggiungere un parametro id. Fetch primo compito da tavolo e passare il suo id per task di elaborazione coda di servlet. Nel servlet per il ritardo end per 5 secondi e Feth prossimo compito, passare il suo id e .... così via.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top