Страницы

Поиск по вопросам

четверг, 9 апреля 2020 г.

Запустить задачу в фоне php

#php #backgroundworker

                    
Есть веб-интерфейс, куда юзер загружает файл и файл процессится. Нужно чтобы после
загрузки началась обработка файла и пользователь в реальном времени мог видеть что
происходит. Даже если он закроет броузер и потом вернется на страницу, то он должен
опять-таки созерцать процесс работы скрипта. Как этого достичь, ведь по понятным причинам,
если я загружу файл и переда его скрипту напрямую, то он будет работать и показывать
пустую страницу пользователю, пока не закончит. Так же он прекратит работу, если пользователь
закроет страницу. Решение хотелось бы платформонезависимым. Спасибо.

UPD: Нашел подходящее решение под вин: https://stackoverflow.com/questions/13289595/starting-a-windows-process-in-php-and-get-its-pid

Большое спасибо всем, кто ответил!
    


Ответы

Ответ 1



Посмотрите в сторону Gearman. Примерный вариант: Файл отправляется клиентскому скрипту, который ставит его в очередь в Gearman. Воркер обрабатывает файл и сохраняет промежуточные результаты обработки в какой-нибудь сторедж (напр. MySQL). Клиентский скрипт берет данные из стореджа и отдает их клиенту (можно через ajax или обновлением страницы).

Комментариев нет:

Отправить комментарий