Pergunta

código

Na Tarefa filas é executado para se conectar ao lado do servidor por meio de obtenção de URL. Meu arquivo queue.yaml.

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

Em tais configurações, Tusk realizada de uma só vez, em simultâneo. Especificidade é que entre os pedidos deve ser adiada pelo menos 5 sec . Tarefa deve executar no palco com um segundo diferença> 5. (mas não paralelos).

O que são os valores definidos na queue.yaml?

Foi útil?

Solução

Você não pode especificar atrasos mínimos entre as tarefas em queue.yaml, atualmente; você deve fazê-lo (em parte) em seu próprio código. Por exemplo, se você especificar um tamanho de balde de 1 (de modo que mais de uma tarefa nunca deve ser a execução de uma vez) e certifique-se as tarefas pistas para pelo menos 5 segundos (obter um start=time.time() no início, time.sleep(time.time()-(5+start)) no final) esta Deveria trabalhar. Se isso não acontecer, peça a cada registro de tarefa na loja a hora que terminar, e quando ele começar a verificação se a última tarefa terminou menos de 5 segundos atrás, e, nesse caso, encerrar imediatamente.

Outras dicas

A outra maneira poderia ser armazenar os dados de tarefas na tabela. Em sua tarefa-fila adicionar um parâmetro id. Fetch 1º tarefa da tabela e passar o id para processamento de fila de tarefas servlet. Em servlet no atraso fim de 5 segundo e Feth próxima tarefa, passar seu ID e .... assim por diante.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top