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