1

我有一个方法,它接受一个 url 并返回一个 Promise[Stuff]:

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

我把它称为一个大的(~ 1300 项)字符串列表:

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

一些承诺正确完成,但大约 50 会导致“java.net.SocketException: Too many open files”。我究竟做错了什么?也许我应该使用其他方式来完成这项任务?

4

1 回答 1

2

这是操作系统的限制。

参见http://wiki.magnolia-cms.com/display/WIKI/Too+Many+Open+Files例如在 linux 上

于 2013-02-16T18:29:56.693 回答