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

201
19 декабря 2016, 19:40

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

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

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

Answer 1

Посмотрите в сторону Gearman.

Примерный вариант:

  1. Файл отправляется клиентскому скрипту, который ставит его в очередь в Gearman.
  2. Воркер обрабатывает файл и сохраняет промежуточные результаты обработки в какой-нибудь сторедж (напр. MySQL).
  3. Клиентский скрипт берет данные из стореджа и отдает их клиенту (можно через ajax или обновлением страницы).
READ ALSO
Как объединить вывод данных с значением false и если пустое?

Как объединить вывод данных с значением false и если пустое?

Проблема в том что у меня в базе данных есть значение одного столбца, оно обычно false, но бывает случается что пустое, как мне при выводе объединить...

161
Bootstrap меню на Wordpress

Bootstrap меню на Wordpress

Я создал следующие меню на bootstrap и перенёс его в Wordpress, но оно почему то оно не работает? Помогите исправить

346
Что значит на ООП PHP запись: $this->name->name2->name3->save();?

Что значит на ООП PHP запись: $this->name->name2->name3->save();?

$this->name — свойство, но что дальше? Те

158
Обработка и вывод последних записей из БД

Обработка и вывод последних записей из БД

Есть БД с некоторым количеством новостейМне нужно вывести списком, например, последние 5

191