bslls:TimeoutsInExternalResources¶
Таймауты при работе с внешними ресурсами (TimeoutsInExternalResources)¶
- Тип: Ошибка
- Важность: Критичный
- Включена по умолчанию: Да
- Теги:
unpredictable,standard
Описание диагностики¶
При работе с внешними ресурсами с помощью объектов WSОпределения, WSПрокси, HTTPСоединение, FTPСоединение следует задавать таймаут – предельное время ожидания выполнения операции. В противном случае, в результате бесконечного ожидания программа зависнет или часть функционала программы станет недоступна. Для ИнтернетПочтовыйПрофиль платформа устанавливает значение таймаута по умолчанию в 30 секунд, но, несмотря на это, стоит явно указывать значение таймаута при использовании.
Установка таймаута является защитой от целого ряда внешних факторов:
- нестабильного подключения к Интернету, когда регулярно происходит прерывание связи, и система не может получить цельный ответ сервера, к которому выполняется подключение;
- при включенных антивирусных программах или при неправильных настройках брандмауэра;
- неправильной настройки прокси-сервера;
- ненадежной работы веб-сервера из-за возросшей нагрузки или некорректной работы скриптов.
Примеры¶
Неправильно:
или
Правильно:
или
ТаймаутСоединения = 180;
HTTPСоединение = Новый HTTPСоединение("zabbix.localhost", 80,,,, ТаймаутСоединения);
Источники¶
Соответствие стандартам¶
- #std748, п. 1: Таймауты при работе с внешними ресурсами — Диагностика «Таймауты при работе с внешними ресурсами (TimeoutsInExternalResources)» проверяет условие пункта 1 стандарта std748.
Источник диагностики¶
- Исходная статья
- Ревизия:
f4616cda8a216789ee40529ed857e614b9e2ea25 - Лицензия:
LGPL-3.0-or-later