2017-05-05 8 views
0

Ich verwende Projektreaktor, um Daten von einem Web-Service mit Rest zu laden. Dies geschieht parallel mit mehreren Threads. Ich fange an, die Ratenbeschränkungen für den Webdienst zu treffen, daher möchte ich höchstens 10 Anfragen pro Sekunde senden, um diese Fehler zu vermeiden. Wie würde ich das mit Reaktor machen?Begrenzung der Anfragen mit Reactor

Verwenden von zipWith (Mono.delayMillis (100))? Oder gibt es einen besseren Weg?

Danke

+0

aktuelle Lösung: Flux.range (1, 10) .zipWith (Flux.interval (Duration.of (1, ChronoUnit.SECONDS))) .Map (Tuple2 :: getT1) .toIterable() . forEach (i -> logger.info ("Erhalten: {}", i)); – Mavo

Antwort

0

Sie delayElements anstelle des gesamten zipwith verwenden können.