Здравствуйте!
Столкнулся с проблемой - долго выполняется скрипт (иногда время выходит за рамки ответа хостинга)
Решил разбить его по частям, ну и чтобы пользователь наблюдал не просто анимацию загрузки, а видел прогресс(ajax): "этап1", "этап2", "этап3", "этап4", "Выполнено".
1) Решит ли это проблему с нехваткой времени на выполнение скрипта?
2) Как сохранять промежуточный результат, чтобы в конце, на основе полученных данных(на всех этапах), сформировать что то вроде отчета и отправить его на почту. Правильно ли будет массив данными для формирования отчета хранить в переменной сессии?
отправлять задачу работать в фоновом режиме. в задаче отправлять статус куда либо в redis, rdbms данные по статусу задачи. с клиента дергать по таймауту по ключу текущий статус задачи.
Обычно делают так: фронт инициирует длинную задачу на бэке, а потом периодически спрашивает "уже готово?"
На стороне бэка нужен некий демон - фоновый скрипт, который всю эту кухню будет реализвывать. Он будет
построен на очередях (rabbitmq или что-то самописное).