затяжной ajax XMLHttpRequest
- [email protected]
- Сообщения: 45
- Зарегистрирован: 2013.12.12, 12:51
затяжной ajax XMLHttpRequest
Всем доброго дня. Посылаю request. Исполнение занимает до 3 мин времени. Хочу запустить другие процессы за этот промежуток в этом же action, но не получается, пока не пройдут эти 3 мин. Не подскажете решение, пожалуйста
Re: затяжной ajax XMLHttpRequest
Что касается JS:
1. Отправить пакетный запрос с указанием всех действий.
2. Отправить запрос, закрыть соединение. Чекать статус выполнения задачи.
3. Использовать websocket
Что касается PHP:
Если сессии на файлах, то session_start() блокирует файл сессии, до вызова session_write_close(). Значит, что параллельные запросы работающие с сессией будут ждать session_write_close().
Соответственно надо достать из сессии все что надо и закрыть.
1. Отправить пакетный запрос с указанием всех действий.
2. Отправить запрос, закрыть соединение. Чекать статус выполнения задачи.
3. Использовать websocket
Что касается PHP:
Если сессии на файлах, то session_start() блокирует файл сессии, до вызова session_write_close(). Значит, что параллельные запросы работающие с сессией будут ждать session_write_close().
Соответственно надо достать из сессии все что надо и закрыть.
-
- Сообщения: 99
- Зарегистрирован: 2021.07.15, 21:22
Re: затяжной ajax XMLHttpRequest
Используйте очереди через, например, yii2-queue[email protected] писал(а): ↑2023.08.08, 12:11 Всем доброго дня. Посылаю request. Исполнение занимает до 3 мин времени. Хочу запустить другие процессы за этот промежуток в этом же action, но не получается, пока не пройдут эти 3 мин. Не подскажете решение, пожалуйста
Оправив ajax, запускайте очередь. Ответ на ajax придёт, не дожидаясь выполнения логики, запущенной контроллером.
Выполнение очереди контролируйте другими, короткими ajax запросами или по cron, например.