ScalaのFutureにはタイムアウトを設定するメソッドはない。 Await.result で設定時間待つことができるが、失敗した場合は例外がスローされてしまうのでTryなりで扱う必要があるし、なによりブロッキングするのでスレッドを無駄遣いしてしまっている。 そこで akka.pattern.after メソッドを使う。 akka.pattern.afterを使ったFutureのタイムアウト設定 こちらを参考にした stackoverflow.com import akka.actor.ActorSystem import scala.concurrent.duration._ import scala.concurrent.{ ExecutionContext, Future, TimeoutException } object Main { implicit class Future