Служба блокировки BLOB-объектов: время ожидания не работает - PullRequest
0 голосов
/ 29 февраля 2020

Согласно документации , можно установить timeout на exists вызове, чтобы проверить, существует ли контейнер в Azure хранилище с таймаутом. Можно было бы подумать, что вызов возвращает False, если контейнер не существует или время истекло. Тем не менее, я не вижу, как тайм-аут вступает в силу. Идеи? * * 1006

Ответы [ 2 ]

1 голос
/ 29 февраля 2020

Метод exists работает так, что он делает HEAD запрос к ресурсу.

Если запрос выполнен успешно, он возвращает true.

Если по какой-либо причине запрос не выполняется, проверяется тип исключения. Только в случае исключения Not Found (код состояния HTTP 404) возвращается false.

Любые другие ошибки возвращаются вызывающей стороне. Так что в вашем случае, если истекло время ожидания, вы должны ожидать исключение времени ожидания и должны быть готовы обработать это исключение.

0 голосов
/ 29 февраля 2020

Я думаю, что тайм-аут является входным аргументом. Msgstr "Параметр времени ожидания выражен в секундах". Если вы указали очень маленькое число в тайм-ауте и у вас плохая сеть, вы, вероятно, получите исключение тайм-аута. Это, вероятно, предотвратит бесконечную попытку такого вызова, который блокирует весь процесс. Хотите попробовать?

...