Как бороться с java.net.SocketException: слишком много открытых файлов при отправке / перезагрузке?
У меня есть метод, который принимает URL-адрес и возвращает обещание [Материал]:
def getStuff(url: String): Promise[Stuff] = Http(...).map(...)
и я называю это большим (~ 1300 наименований) списком строк:
Http.promise.all(urls.map(getStuff)).apply
Некоторые из обещаний выполняются должным образом, но около ~50 приводят к "java.net.SocketException: слишком много открытых файлов". Что я делаю неправильно? Может быть, я должен использовать какой-то другой способ сделать эту задачу?
1 ответ
Решение
Это ограничение операционной системы.
См. http://wiki.magnolia-cms.com/display/WIKI/Too+Many+Open+Files например, для Linux