Цитата |
---|
написал: если вы про обработчик |
Нет, дело не в обработчике. В самом вопросе ничего не писал, что в обработчике что-то не устраивает))
Непонятно, что вызывает зависание всего сайта. Вы правильно задаете вопросы: про БД, запуск какие-то доп. методов/событий, которые могут вызывать задержку загрузку и пр. Правда такая, что этого ничего нет.
Все, что используется: отправка AJAX с фронта → внутри обработчика PHP вызывается метод класса → внутри класса происходит вызов через HttpClient api bitrix (10-20 секунд ждем) → продолжаем выполнять код внутри PHP обработчика → обновляем данные в БД (выше код кидал) → завершаем работу.
На каком конкретно этапе происходит так, что другие стр. не грузятся непонятно. Внутри метода класса, который вызывает HttpClient тоже ничего нет такого, что могло бы блокировать (там лишь 1 раз мы получаем по ID из БД данные также как делаем update внутри AJAX обработчика и все).
У меня были идеи заменить класс битрикса HttpClient на обычный CURL от PHP и посмотреть как отработает. Хотя эта проблема сама по себе странная.
Все отлаживал через Debug api bitrix, нигде ошибок нет, все данные корректные. Но на время процесса обработки AJAX запроса происходит ожидание его завершения. Хотя сам по себе AJAX в этом методе acync по умолчанию. PHP вроде тоже однопоточный...
P.S. Думаю, что такая проблема все же тривиальная и где-то есть ошибка.
Есть идеи где конкретно нужно копать?