<< Click to Display Table of Contents >> Разработка > Рекомендации по разработке для масштабируемых систем > Сервис интеграции Запросы на выполнение длительных операций |
Некоторые запросы к сервису интеграции могут возвращать ошибку с кодом «502.3 Bad Gateway» из-за длительного выполнения операции. Например, создание большого количества документов из внешней системы и их отправка на согласование могут превысить установленный в системе тайм-аут.
Чтобы такие запросы выполнялись без ошибок, рекомендуется перенести логику длительной операции в асинхронный обработчик, и вызвать его в интеграционной функции.
В этом случае сервис интеграции передает создание документа сервису асинхронных событий и создает запись в очереди обработки. При выполнении запроса из внешней системы сервис интеграции вернет в ответе идентификатор записи очереди. После создания документа и отправки его на согласование статус меняется на завершенный. Узнать актуальный статус выполнения запроса можно по идентификатору записи очереди. Для этого, например, нужно выполнить GET-запрос на получение сущностей или разработать свой GET-запрос.
Если по какой-то причине асинхронные обработчики использовать нельзя, увеличьте тайм-аут обработки HTTP-запросов. По умолчанию тайм-аут составляет 120 секунд. Его можно изменить только в том случае, если время выполнения операции гарантированно не превысит новое значение. Для этого:
измените настройки IIS.
1.В диспетчере служб IIS выделите узел веб-сервера.
2.Выберите пункт Application Request Routing Cache.
3.В области «Действия» перейдите по ссылке Server Proxy Settings....
4.В открывшемся окне измените значение в поле Time-out(seconds):
измените настройки в конфигурационном файле HAProxy.
© Компания Directum, 2024 |