затяжной ajax XMLHttpRequest

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
[email protected]
Сообщения: 45
Зарегистрирован: 2013.12.12, 12:51

затяжной ajax XMLHttpRequest

Сообщение [email protected] »

Всем доброго дня. Посылаю request. Исполнение занимает до 3 мин времени. Хочу запустить другие процессы за этот промежуток в этом же action, но не получается, пока не пройдут эти 3 мин. Не подскажете решение, пожалуйста
Аватара пользователя
SiZE
Сообщения: 2817
Зарегистрирован: 2011.09.21, 12:39
Откуда: Perm
Контактная информация:

Re: затяжной ajax XMLHttpRequest

Сообщение SiZE »

Что касается JS:

1. Отправить пакетный запрос с указанием всех действий.

2. Отправить запрос, закрыть соединение. Чекать статус выполнения задачи.

3. Использовать websocket

Что касается PHP:

Если сессии на файлах, то session_start() блокирует файл сессии, до вызова session_write_close(). Значит, что параллельные запросы работающие с сессией будут ждать session_write_close().

Соответственно надо достать из сессии все что надо и закрыть.
terrarium volition
Сообщения: 99
Зарегистрирован: 2021.07.15, 21:22

Re: затяжной ajax XMLHttpRequest

Сообщение terrarium volition »

[email protected] писал(а): 2023.08.08, 12:11 Всем доброго дня. Посылаю request. Исполнение занимает до 3 мин времени. Хочу запустить другие процессы за этот промежуток в этом же action, но не получается, пока не пройдут эти 3 мин. Не подскажете решение, пожалуйста
Используйте очереди через, например, yii2-queue
Оправив ajax, запускайте очередь. Ответ на ajax придёт, не дожидаясь выполнения логики, запущенной контроллером.
Выполнение очереди контролируйте другими, короткими ajax запросами или по cron, например.
Ответить