Как мне кодировать рабочие процессы PHP? - PullRequest
3 голосов
/ 20 января 2012

У меня есть PHP-скрипт, который должен запускать довольно полезные команды imagemagick.

Эти команды могут запускаться одновременно несколькими пользователями, поэтому все пользователи a, b, c и d будут выполнять одну и ту же задачу.Я хочу превратить его в фоновый процесс, чтобы я мог использовать, например, jQuery, чтобы показать полосу загрузки во время обработки.

Как лучше всего это сделать?Или есть другой способ, который может быть проще?

Ответы [ 2 ]

3 голосов
/ 20 января 2012

Существует множество руководств по созданию Deamons с PHP:
http://kevin.vanzonneveld.net/techblog/article/create_daemons_in_php/

Или как создать фоновый процесс:
http://waynepan.com/2007/10/11/how-to-use-ignore_user_abort-to-do-process-out-of-band/

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

Для этого вы также можете использовать очередь сообщений, поэтому вы можете использовать несколько демонов параллельно (например, в многоядерных системах) без конфликтов.

0 голосов
/ 09 апреля 2014

Я искал часы, по крайней мере, решение было очень легко для меня, используя Cron Jobs . В cPanel вы можете перейти в Advanced -> Cron Jobs и запланировать задачу, используя скрипт PHP в командной строке.

Пример команды, которая выполняет скрипт php:

/usr/bin/wget http://www.example.com/miscript.php

или лучше:

php /home/USER/public_html/miscript.php
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...