Вступить в клуб →
сложнаявопросОбмены и интеграции

Загрузка большого пакета заказов через HTTP-сервис обрывается по таймауту

Внешняя система раз в сутки присылает в 1С один POST-запрос с 50 000 строк заказов. Обработка выполняется прямо в обработчике HTTP-сервиса: документы создаются в цикле, в конце возвращается код 200.

На боевой базе запрос обрывается по таймауту веб-сервера. Отправитель считает загрузку неуспешной и повторяет её, хотя часть документов уже создана. Каждый повтор нагружает базу и создаёт новые дубли.

Как перестроить интеграцию?

  • Увеличить таймауты веб-сервера и клиента: на более мощном оборудовании обработка укладывается в отведённое время
  • Обернуть обработку всего пакета в одну транзакцию: при обрыве не создастся ничего и повтор будет безопасным
  • Разбирать пакет на стороне отправителя и присылать по одному документу за запрос, синхронно дожидаясь ответа на каждый из них перед отправкой следующего
  • Принимать пакет, сохранять его в очередь на стороне 1С, сразу отвечать отправителю и обрабатывать данные фоновым заданием, а статус отдавать отдельным запросом

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела