
Пошаговая обработка данных выгрузки
1C (СБИС, МойСклад, то есть система учета, далее СУ). Протокол обмена дает возможность организовывать пошаговую обработку полученных от СУ данных. Эта возможность позволяет обрабатывать объемные данные, даже в условиях ограничений времени исполнения, которые естественны и применяются на хостинге.
Как это работает
После того, как СУ передала на сайт данные выгрузки, она начинает отправлять запросы вида «type=catalog&mode=import&filename=имя файла», тем самым, давая команду принимающей стороне о том, что необходимо обработать ранее переданный файл выгрузки.
В ответ на переданный запрос, СУ ожидает получить «success», что говорит о том, что сайт успешно обработал файл и можно переходить к следующему этапу, либо «progress», что говорит о том, что обработка файла еще не завершена и необходимо повторить запрос. Пока СУ будет получать в ответ «progress» она будет повторять запрос.
Сайт, при получении запроса производит обработку указываемого файла выгрузки, а также запоминает прогресс обработки и контролирует время исполнения. Если время обработки достигло лимита, а данные обработаны не все, то процесс обработки прерывается с ответом «progress» и так происходит пока не обработается все, после чего сайт ответит «success», чтобы сообщить СУ, что можно переходить к следующему этапу. Если обработка уже начиналась, то процесс обработки продолжается, так как осуществляется сохранение прогресса.