Мне нужно сгенерировать некоторые диаграммы и отчеты, но только когда моя БД изменена. Поскольку время, необходимое для создания отчетов, колеблется между 2 и 4 секундами, и число отчетов меняется тоже, я думаю использовать cron, который проверяет модификации БД. Дело в том, что я не хочу начинать генерировать другой отчет, в то время как другой работает. Другими словами, я не хочу запускать другой процесс, пока предыдущий все еще работает. Как я могу это сделать?одиночный процесс на php
мои хроны выглядеть следующим образом:
*/1 * * * * php /home/john/public_html/reportsGeneratorByCron.php
Вы можете поместить некоторый флаг в базе данных или в каком-то файле на диске, который вы должны проверить с другими чтобы выяснить, разблокирована ли она. –
Я бы исследовал с помощью триггеров базы данных, чтобы добавить запрос отчета в очередь, а затем выполнить процесс, который считывает запросы отчетов из очереди и обрабатывает их. Это не похоже на что-то для работы cron. –
взгляните на такой подход http://stackoverflow.com/questions/11357187/php-how-do-implement-queue-processing-in-php –