Таймауты при работе с внешними ресурсами (TimeoutsInExternalResources)¶
Тип | Поддерживаются языки |
Важность | Включена по умолчанию |
Время на исправление (мин) |
Теги |
---|---|---|---|---|---|
Ошибка |
BSL OS |
Критичный |
Да |
5 |
unpredictable standard |
Параметры¶
Имя | Тип | Описание | Значение по умолчанию |
---|---|---|---|
analyzeInternetMailProfileZeroTimeout |
Булево |
Анализировать таймаут у "ИнтернетПочтовыйПрофиль" |
true |
Описание диагностики¶
При работе с внешними ресурсами с помощью объектов WSОпределения, WSПрокси, HTTPСоединение, FTPСоединение следует задавать таймаут – предельное время ожидания выполнения операции. В противном случае, в результате бесконечного ожидания программа зависнет или часть функционала программы станет недоступна.
Для ИнтернетПочтовыйПрофиль платформа устанавливает значение таймаута по умолчанию в 30 секунд, но, несмотря на это, стоит явно указывать значение таймаута при использовании.
Установка таймаута является защитой от целого ряда внешних факторов:
- нестабильного подключения к Интернету, когда регулярно происходит прерывание связи, и система не может получить цельный ответ сервера, к которому выполняется подключение;
- при включенных антивирусных программах или при неправильных настройках брандмауэра;
- неправильной настройки прокси-сервера;
- ненадежной работы веб-сервера из-за возросшей нагрузки или некорректной работы скриптов.
Примеры¶
Неправильно:
HTTPСоединение = Новый HTTPСоединение("zabbix.localhost", 80);
или
FTPСоединение = Новый FTPСоединение(Сервер, Порт, Пользователь, Пароль, Прокси, ПассивныйРежим);
Правильно:
HTTPСоединение = Новый HTTPСоединение("zabbix.localhost", 80,,,, 1);
или
ТаймаутСоединения = 180;
HTTPСоединение = Новый HTTPСоединение("zabbix.localhost", 80,,,, ТаймаутСоединения);
Источники¶
Сниппеты¶
Экранирование кода¶
// BSLLS:TimeoutsInExternalResources-off
// BSLLS:TimeoutsInExternalResources-on
Параметр конфигурационного файла¶
"TimeoutsInExternalResources": {
"analyzeInternetMailProfileZeroTimeout": true
}