API do Play WS: taxas de solicitação de limitação
Estou usando a API assíncrona do WS Scala para consultar um serviço RESTful. Gostaria de saber como eu poderia processar umList
contendo URLs de solicitação a serem chamados viaWSClient
, mas não mais de uma solicitação por segundo (o serviço permite "apenas" 1 solicitação por segundo por cliente). Do ponto de vista lógico, a idéia é obter um elemento (URL) da lista, fazer uma solicitação e aguardar um certo tempo antes de prosseguir com o próximo elemento da lista.
Thread.sleep
em uma estrutura não-bloqueadora e assíncrona como o Play é certamente uma má ideia.provavelmente o mesmo se aplica a coisas comoScheduledThreadPoolExecutor
ou outros métodos que exigem gerar novos threads.Como eu poderia reduzir a taxa de solicitações sem causar um impacto negativo na natureza assíncrona e "o menos possível de threads possível" do Play?