Моя практика в этой ситуации является использование .sequence
превратить F[G[A]]
в G[F[A]]
. Затем используйте Await.result(future_of_a_list, time_out)
, чтобы получить результаты. Однако может быть одна задача, которая требует много времени и времени. В этом случае я все еще хочу получить остальные результаты (при одновременном выполнении всех задач). Является ли это возможным? Как это сделать?Scala: Как собрать результат списка фьючерсов, когда некоторые из них тайм-аут?
Благодаря
Я думаю, что это может помочь: http://stackoverflow.com/questions/20874186/scala-listfuture-to-futurelist-disregarding-failed- фьючерсы –
@ MarkoŠvaljek Спасибо за комментарий. Но я не думаю, что это проблема. Исключение TimeOut не выбрано будущим исполнением. Вы либо блокируете каждое будущее (последовательное выполнение?), Либо блокируете в будущем списке (TimeOut происходит за пределами будущего). – huoenter
@ MarkoŠvaljek Я уже поднял задачи, чтобы попробовать [_]. – huoenter