Начальная синхронизация, порционный обмен

1. nbeliaev 829 23.03.17 16:53 Сейчас в теме
Приветствую.
Написал обмен через планы обмена, в качестве транспорта http. Для начального обмена необходимо выгрузить из ЦБ около 100К объектов, обмениваться решил порционно, по 10К объектов. Если конфигурацию клиента развернуть на ПК и засинхронизироваться через тонкого клиента, то все 100К придут без проблем, если же ее же разворачивать на мобильной платформе, используя VM, то возникает проблема - пока устройство ждет 1-го пакета - проходит около 10 мин, на сервере пакет формируется без проблем, ответ http сервиса имеет код состояния 200, но как только он приходит на устройство, то код состояния уже 500.
Такое чувство, что мобильная платформа по истечению какого-то времени считает, что сервер не отвечает, в результате код 500. Как этого избежать? Обмениваться более мелкими пакетами не вариант, т.к. при каждой итерации недобавленые в пакет объекты регистрируются к след. выгрузке (что опять же время). Может конечно дело в моем ПК и на сервере все будет быстрее и платформа не будет считать, что сервер не доступен, но такой вариант пока возможности нет проверить.
p.s. попробовал зарегать только номенклатуру (около 40к) - все успешно прошло. значит дело все таки во времени ожидания ответа от сервера.
По теме из базы знаний
Найденные решения
5. nbeliaev 829 24.03.17 11:59 Сейчас в теме
В общем проблему решил путем пакетной регистрации и пакетной выгрузки. Обошелся без создания доп. объектов метаданных. Результат не слишком быстрый - 26 мин загрузки, но опять же на сервере думаю это все будет быстрее.
Остальные ответы
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. flyer 232 23.03.17 22:12 Сейчас в теме
интересно 1с отвечает на запрос. 500 это ошибка в основном по коду если что не так написал.
1) пакет сжимаешь?
2) увеличь таймаут
3) моб.платформа какая версия?
3. nbeliaev 829 24.03.17 09:13 Сейчас в теме
Спасибо за отклик!
500 это же внутренняя ошибка сервера. Если бы ошибка была в коде - тут все понятно было бы.
Пакет сжимаю конечно, версия платформы 8.3.8.70
Таймаут стоит 0, то есть не задан
Пока так только одна мысль - регистрация объектов также как и выгрузка - пакетно. Получится конечно все это в цикле, но думаю, что для начальной синхронизации это не критично, один раз выполнил и забыл.
4. ipoloskov 162 24.03.17 09:57 Сейчас в теме
Можно сделать так: при выгрузке передавать только вид метаданного и УИД объекта. Приемник получает пакет, записывает его в регистр и отправляет на сервер "Принято". Сервер регистрирует в плане обмена, что данные получены. Затем, в цикле, клиент берет порцию УИД из регистра и отправляет на сервер. Сервер готовит полноценную выгрузку объектов порции и отправляет клиенту.
5. nbeliaev 829 24.03.17 11:59 Сейчас в теме
В общем проблему решил путем пакетной регистрации и пакетной выгрузки. Обошелся без создания доп. объектов метаданных. Результат не слишком быстрый - 26 мин загрузки, но опять же на сервере думаю это все будет быстрее.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот