1

URLを受け取り、Promise [Stuff]を返すメソッドがあります。

def getStuff(url: String): Promise[Stuff] = Http(...).map(...)

そして、文字列の大きな(〜1300アイテム)リストでそれを呼び出します:

Http.promise.all(urls.map(getStuff)).apply

一部の約束は正しく完了しますが、約 50 件で「java.net.SocketException: 開いているファイルが多すぎます」という結果になります。私は何を間違っていますか?このタスクを実行するには、他の方法を使用する必要がありますか?

4

1 に答える 1

2

これはオペレーティング システムの制限です。

Linux の例については、 http: //wiki.magnolia-cms.com/display/WIKI/Too+Many+Open+Files を参照してください。

于 2013-02-16T18:29:56.693 に答える