Задача заключается в импорте больших объемов данных в бд, во время импорта, или после, будет запускаться индексация полученных данных машиной elasticsearch. Время потраченное на обработку данных может быть от нескольких минут до нескольких часов. Так вот как это делается на php? :)
Если мы будет обращаться к скрипту просто через браузер, то как минимум браузер будет просто висеть и пользователь не поймет, что происходит, так же через время сервер просто обрывает соединение, выдавая 504 ошибку.
Я так понимаю, надо реализовать обращение к скрипту асинхронно и систему отслеживания статуса выполнения операций? А как быть уверенным в том, что сервер не вырубит процесс который висит минут 40? Может кто статейку подкинет, или советом хотя бы :)
Надо будет сделать интерфейс для создания "заданий". Веб интерфейс - пишем в БД, что надо сделать то и то. PHP скрипт(ы) запускается по крону и проверяет, если ли задания, и если есть - выполняет их. Сначала помечает, что задание в работе, и начинает обрабатывать данные. По окончании - пишет в бд, что задание выполнено и пишет в БД результаты. Зайдя в веб интерфейс можно увидеть какие задачи есть, какие выполнены, какие в процессе, какие результаты выполнения, какие отвалились в ошибкой.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости