Время обращения к веб-сервису #782726


#0 by Skylark
Есть нубский вопрос про веб-сервисы (8.2). Получаем через веб-сервис несколько различных объектов подряд. Для каждого объекта своя процедура и в ней подключение к веб-сервису. Если сделать одно подключение в начале и потом передавать его в процедуры загрузки объектов, не возникнет ли такой ситуации, что пока какой-нибудь тяжелый объект записывали, веб-сервис отвалился по тайм-ауту или как его там? С другой стороны я в отладчике посмотрел - если веб-сервис подключен, то повторное его же подключение проходит моментально, так что может и не париться - пусть каждая процедура подключается сама, на быстродействии это не слишком скажется?
#1 by Cyberhawk
Сделай атомарно, будут проблемы - будешь решать
#2 by Юрий Лазаренко
При первом подключении создается пул подключений, который висит потом некоторое время (по умолчанию 20 минут, это время можно поменять в конфигурате в параметрах публикации "Время жизни соединения (с.)"). Пока пул жив, все остальные подключения идут через него. Именно поэтому первое подключение всегда долго происходит, а остальные моментально. Теоретически, если за время запроса результат не вернется в положенный срок, то пул сломается и запрос придется делать заново. Но сломается или не - это вопрос, надо проверять. Итого: 1. Каждый новый запрос к веб-сервису будет идти через один пул 2. Время выполнения каждого запроса должно быть адекватным, но не думаю, что у вас там обработки длительностью несколько минут и больше, так что все должно работать 3. Если на одном запросе будет все плохо и он не выполнится, то следующий запрос все равно сработает и при необходимости создаст новый пул соединений (если этот запрос не такой же тяжелый, как упавший).
#3 by etc
если вызываете через реверс-прокси то на нем придется ProxyTimeout увеличить. А так таймаут задается на вызывающей стороне.
#4 by Cyberhawk
С 8.3.9.1818 реализовано переиспользование сеансов, т.е. на каждый вызов веб-сервиса не будет создаваться новый сеанс, что на порядок сокращает длительность частых вызовов. Так что либо делайте базу-поставщика веб-сервисов с таким режимом совместимости, либо все-таки в одном веб-сервисе все выполняйте (без последовательных множественных вызовов).
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С