2

私が理解している限り、アプリケーションが真にノンブロッキングであるためには、IO を実行するすべてのライブラリ (データベース ドライバなど) は、selectループ内で実行されているという事実を認識し、IO ができるようにファイル記述子をメイン リストに追加する必要があります。適切にスケジュールされます。したがって、ランダム ドライバー ( https://github.com/mauricio/postgresql-asyncなど) を使用すると、クエリが完了するのを待っている間、他のクライアントのすべての HTTP 処理がブロックされます。特定の Play (またはその内部にあるもの) 対応のドライバーを使用する必要がありますか?

4

2 に答える 2

-1

データベース クエリをバックグラウンド スレッドにスローし、Promise to Play を返します。

http://www.playframework.com/documentation/2.0/ScalaAsync

Scala 2.10 は、Akka の Futures 実装を統合します。

http://doc.akka.io/docs/akka/2.2.1/scala/futures.html#introduction

免責事項 - Play を使用したことはありません ...

于 2013-10-22T03:19:01.480 に答える