Akka Streams를 사용하여 서버에 요청을 동시에 보내고 각 요청을 원본 컨텍스트 (이 예제에서는 Int
)와 연결하려고합니다. 이것은 내가 특히akka 스트림의 미래 변화하기
val createRequestFlow: Flow[(String, String), (HttpRequest, Int), _] = Flow.fromFunction[(String, String), (HttpRequest, Int)]((mkRequest _).tupled)
val sendRequestFlow: Flow[(HttpRequest, Int), (HttpResponse, Int), _] = Flow[(HttpRequest, Int)].mapAsyncUnordered(32)((sendRequest _).tupled)
val handleResponseFlow: Flow[(HttpResponse, Int), String, _] = Flow[(HttpResponse, Int)].map[String]((getStatusString _).tupled)
val handler = createRequestFlow via sendRequestFlow via handleResponseFlow
toghether 넣어 한 흐름이다, 나는 Future[(HttpResponse, Int)]
을 반환하는 방법을 찾기 위해 노력하고있어. 현재,이
def sendRequest(request: HttpRequest, ctx: Int): Future[(HttpResponse, Int)] = {
Http().singleRequest(request).map(r => (r,ctx))
}
을하고 있어요하지만 난이 Executor에 필요하다는 사실이 그것을 할 수있는 또 다른 (더 좋은) 방법이 있음을 나타냅니다 것으로 알고 있습니다.
미리 감사드립니다.
올바른 경로에있어'sendRequest'를 암시 적 ExecutionContext로 만듭니다. –