Я работаю с CakePHP над приложением, которое должно выполнять трудоемкую задачу с помощью одного вызова AJAX, а вторичные периодические вызовы AJAX проверяют ход выполнения задачи.
Проблема
Пока трудоемкая задача (которая занимает> 30 секунд) выполняется через свой AJAX-запрос к CakePHP, вторичный AJAX-запрос хода выполнения не может быть «блокирующим».
Чтобы уточнить, вторичный запрос AJAX о ходе выполнения не возвращает никакой ошибки, он просто не возвращает никакого ответа до тех пор, пока не истечет исходный трудоемкий запрос.
Как только этот исходный AJAX-запрос завершается, вторичный AJAX-запрос хода выполнения возвращается, как и ожидалось.
Похоже, что выполнение запроса на выполнение ставится в очередь до завершения первого вызова AJAX, поскольку возвращаемый прогресс составляет 100%.
Что я пробовал
Я пробовал несколько предложенных решений, в том числе:
- Изменение обработчика сеанса на «торт» в core.php - без исправления
- Установка уровня безопасности конфигурации на «средний» в core.php - без исправления
- Отключение проверок пользовательского агента в core.php - без исправления
- Тестирование нескольких одновременных вызовов AJAX для простого PHP-скрипта на одном сервере - работает как положено
Есть идеи?
Похоже, что проблема вызвана CakePHP - кто-нибудь испытывал это в своем приложении CakePHP?
Спасибо!