AWS Lambda: IOException: слишком много открытых файловC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 AWS Lambda: IOException: слишком много открытых файлов

Сообщение Anonymous »

Я развернул AWS Lambda, написанную на C#, и в зависимости от введенных данных вижу в консоли следующее сообщение об ошибке (усеченное):

Код: Выделить всё

{
"Cause": "{\n  \"errorType\": \"IOException\",\n  \"errorMessage\":
\"Too many open files : [...]at System.IO.FileSystem.RemoveDirectoryRecursive(String fullPath)
"Error": "IOException",
"ExecutionArn": [...]
У меня есть (отчасти?) хорошее представление о том, к чему относится ошибка, но я хотел бы воспроизвести ее хотя бы локально.Когда я выполняю его с помощью инструмента тестирования AWS .NET Lambda с точно таким же вводом (JSON), я не могу вызвать исключение. Поэтому я предположил, что моя система Windows 10 более снисходительна к количеству файловых дескрипторов, чем система на стороне AWS. Поэтому я добавил вызов _setmaxstdio в свой лямбда-код:

Код: Выделить всё

[DllImport("msvcrt.dll")]
public static extern int _setmaxstdio(int newMax);
И затем в основном коде я вызываю:

Код: Выделить всё

int ret = _setmaxstdio(128);
Я вижу, что в отладчике возвращается значение 128, но я снова не могу воспроизвести проблему локально с помощью инструмента тестирования AWS .NET Lambda. Я выбрал 128, чтобы оно было ниже значения 1024, описанного по адресу: Как можно воспроизвести исключение локально?

Подробнее здесь: https://stackoverflow.com/questions/781 ... open-files
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»