Доброго дня
Оставлю тут предупреждение для тех, кто решит делать сложный проект через REST API на облаке, используя конструкции, подобные "Таблица внутри повторяющихся блоков", которые описаны в
Там есть не описанные ограничения! Я о них не знал и пожалел.
Обработка запроса генерации документов, идущего на облачный сервер Битрикс, очень тяжелая. Чем больше в шаблоне динамических данных, тем она тяжелее. В нашем проекте был полностью динамически формируемый документ с высокой вариативностью, из-за чего пришлось все делать такими конструкциями. И примерно при 3 конструкциях "Таблица внутри повторяющихся блоков", каждая из которых содержала примерно 3 таблицы (это было всего 5 страниц в текстовом документе), сервер Битрикса стал не справляться и выдавать ошибку INTERNAL_SERVER_ERROR, документ при этом не создается вообще.
То есть именно с обработкой этих запросов могут быть большие задержки, и можно неожиданно упереться в неописанное ограничение при относительно небольшом объеме документа. Решения у данной проблемы нет, кроме как использовать для генерации документов какую-то свою коробку вместо облака (там нет этих ограничений). В ТП заявка по проблеме есть, под номером 161135 "Облака при обработке шаблона документа (Maximum execution time exceeded)".
Сервер Битрикса начинает отклонять запросы, когда не может выполнить их за 60 секунд. Через curl_getinfo можно отслеживать этот параметр для текущего запроса, чтобы понимать, где находится допустимая граница. Пример логов отклоненного запроса:
Оставлю тут предупреждение для тех, кто решит делать сложный проект через REST API на облаке, используя конструкции, подобные "Таблица внутри повторяющихся блоков", которые описаны в
Там есть не описанные ограничения! Я о них не знал и пожалел.
Обработка запроса генерации документов, идущего на облачный сервер Битрикс, очень тяжелая. Чем больше в шаблоне динамических данных, тем она тяжелее. В нашем проекте был полностью динамически формируемый документ с высокой вариативностью, из-за чего пришлось все делать такими конструкциями. И примерно при 3 конструкциях "Таблица внутри повторяющихся блоков", каждая из которых содержала примерно 3 таблицы (это было всего 5 страниц в текстовом документе), сервер Битрикса стал не справляться и выдавать ошибку INTERNAL_SERVER_ERROR, документ при этом не создается вообще.
То есть именно с обработкой этих запросов могут быть большие задержки, и можно неожиданно упереться в неописанное ограничение при относительно небольшом объеме документа. Решения у данной проблемы нет, кроме как использовать для генерации документов какую-то свою коробку вместо облака (там нет этих ограничений). В ТП заявка по проблеме есть, под номером 161135 "Облака при обработке шаблона документа (Maximum execution time exceeded)".
Сервер Битрикса начинает отклонять запросы, когда не может выполнить их за 60 секунд. Через curl_getinfo можно отслеживать этот параметр для текущего запроса, чтобы понимать, где находится допустимая граница. Пример логов отклоненного запроса:
| Код |
|---|
Array ( [url] => *** [content_type] => application/json [http_code] => 500 [header_size] => 207 [request_size] => 187 [filetime] => -1 [ssl_verify_result] => 0 [redirect_count] => 0 [total_time] => 61.514408 - если этот параметр приблизится к 60 секундам, запрос будет отклонен [namelookup_time] => 2.2E-5 [connect_time] => 0.001021 [pretransfer_time] => 0.00815 [size_upload] => 111173 [size_download] => 78 [speed_download] => 1 [speed_upload] => 1807 [download_content_length] => 78 [upload_content_length] => 111173 [starttransfer_time] => 0.010474 ) |