2

私は Doobie を使用しています。私が見つけた例でunsafeRunSyncは、次のように使用しています。

sql"select name from country"
  .query[String]    // Query0[String]
  .to[List]         // ConnectionIO[List[String]]
  .transact(xa)     // IO[List[String]]
  .unsafeRunSync    // List[String]
  .take(5)          // List[String]
  .foreach(println)

内部では、この関数は次のように実装されています。

final def unsafeRunSync(): A = unsafeRunTimed(Duration.Inf).get

docsで、「この関数はテスト用であることに注意してください。メインラインの本番コードには決して使用しないでください!」と記載されています。unsafeRunSyncこの機能を内部で使用する場合、本番環境で使用しても問題ないのでしょうか?

また、そうでない場合、実行にタイムアウトを設定するにはどうすればよいunsafeRunTimedですか?

4

1 に答える 1