문제

val iter = (1 to 1000).iterator.map { i =>
  accountService.getAccountDataSyncList(i, 200)
}.takeWhile(_.nonEmpty).flatten.map(acc => produceReport(acc.bindAccount))
Future.sequence(iter.toList)

I iterate over 1 to 1000 pages of accounts and create at most 200 * 1000 futures,

Will this use a lot of memory ?

Is this create all task as future then forget pattern performance friendly ?

도움이 되었습니까?

해결책

How much memory it will take depends on how much memory of your each callback costs and how many threads you specified to execute the futures.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top