Ich versuche, meine ask
Anfragen an einen ConsumerActor zu drosseln.Throttle Akka Fragen
val throttler: ActorRef =
Source.actorRef(bufferSize = 1000, OverflowStrategy.dropNew)
.throttle(10, 1.second, 1, ThrottleMode.Shaping)
.to(Sink.foreach[Any](msg => consumerActor ! msg))
.run()
mit
aLotOfItems.map(items =>
val itemsFuture = (throttler ? consumeItems(items)).mapTo[Future[String]]
itemsFuture flatMap {x => x}
}).toVector
msgs zum consumerActor Dieser schickt aber ich glaube, die Antwort zu verlieren, wie ich mit 2 Artikel versucht, aber die Anfrage gerade hängt.
Ich glaube, ich brauche die tell
im Sink.foreach
zu einer fragen oder etwas zu ändern, dass eine Antwort
Lösung umgehen kann: Verstanden unter die gewählte Antwort mit zu arbeiten. Ich hatte
val answer = Source(...) (from the selected answer below)
sender ! answer
wo würden Sie die 'Quelle' deklarieren? – Jeff
Auch habe ich 'Source (aLotOfItems)' versucht, aber ich habe einen Typkonflikt von 'Erwartet: Iterable [NotInferedT] Actual: Vector [Item]'. – Jeff
Was ist der Typ von 'aLotOfItems'? – chunjef