@vovaaar

Как правильно запустить тяжелый php скрипт?

Есть несколько страниц. С каждой из них приходят post данные. Далее на основании того что пришло с post, необходимо подготовить данные с помощью php и запустить функцию php.

После того как скрипт отработает, он в виде json сохраняет все что он делал в бд. Далее необходимо воспроизвести этот json на фронте.

Вопрос в том: в каком порядке правильно обработать данные? Есть вариант 1: когда придет post с любой из страниц, на той странице куда он пришел, запускать прелоадер, и ajax передавать данные post на файл в котором будет производиться тяжелая обработка, и когда она подойдет к концу, отдавать различные статусы. И если все успешно, делать еще один ajax запрос, брать данные из истории (брать json) убирать прелоадер, и стартовать фронт Есть вариант 2: когда придет post, сразу на той же странице где будет фронт, обрабатывать post, и запускать там же тяжелый скрипт (тогда не смогу сделать прелоадер, так как php запускается первее js) как все отработает, сразу без дерганья json из бд, отдавать его на js, и он отрабатывает. Плюсы этого в том, что нету ajax запросов и данные не надо тащить, они уже рассчитались и есть на странице. Минусы в том что при долгой обработке, человек будет видеть пустую страницу.

Больше пока не вижу выхода. Буду рад каждому ответу!
  • Вопрос задан
  • 334 просмотра
Пригласить эксперта
Ответы на вопрос 2
Ninazu
@Ninazu
WebSocket + Сервис можно даже не на РНР
Ответ написан
Комментировать
Поднимаете вебсокет соединение, тяжёлую задачу кидаете в очередь, когда задача обработается, по вебсокету отдаете результат клиенту. Фреймворки в помощь, если сами не сможете, на ларавел, например, нормально делается.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы