Планирование PHP-скрипта - PullRequest
       1

Планирование PHP-скрипта

0 голосов
/ 09 февраля 2012

У меня есть php-скрипт, который мне нужно часто запускать, т.е. примерно каждые 10 секунд.Кажется, что cron не подходит, учитывая необходимую частоту.

В идеале я хотел бы запустить свой скрипт;а) в цикле с короткой паузой (скажем) 5 секунд между каждым выполнением, или б) запланировать запуск сценария каждые 10 секунд

php, mysql, linux

Любые предложения оченьоценили.

Ответы [ 4 ]

2 голосов
/ 09 февраля 2012

Установите cronjob каждую минуту для запуска вашего PHP-скрипта.

В вашем PHP-скрипте запустите код в цикле 6 раз.

Вы можете использовать функцию sleep для созданияпауза между выполнением каждого цикла: http://php.net/sleep

0 голосов
/ 09 февраля 2012

В cron вы можете настроить выполнение скрипта каждые 10 секунд.Боюсь, сколько времени потребуется вашему сценарию для выполнения в этом случае.

Другой вариант - вы можете создать бесконечный цикл в программе, тогда задача, которая будет выполнена, будет внутри блока цикла.после выполнения цикла один раз установите задержку в 10 секунд, используя режим сна или usleep.Здесь у вас нет большого контроля над программой.Если вы хотите остановить программу, для завершения задачи необходимо использовать команды kill linux.

0 голосов
/ 09 февраля 2012

Используйте сценарий оболочки, который выполняется в бесконечном цикле.Этот скрипт должен запустить ваш PHP-скрипт, который выполняет свои действия один раз (и только один раз), а затем завершает работу.

Вы можете установить задержку между запуском с помощью команды sleep.

Это сделано для того, чтобыPHP завершает работу после каждого запуска, так что PHP может освободить память и процессорное время.

0 голосов
/ 09 февраля 2012

Вы можете настроить запуск cron каждую минуту, чтобы инициализировать скрипт, а затем создать цикл, который проверяет дату («s»); если он ниже 51, повторите цикл, иначе выйдите из цикла, чтобы не создавать бесконечный цикл. Хотя вам нужно помнить, что это крайне неэффективно, поскольку он будет поддерживать работу php без остановок и может привести к тому, что ваш сервер не будет реагировать на обычные действия. Существуют и другие, более эффективные планировщики, которые могут работать в более короткие сроки. Одна вещь, которую я сделал, - это создание демона c / c ++, который запускается на коробке и просто запускает приложение php каждые 10 секунд. Хотя это гораздо более эффективно и позволяет завершить работу php-скрипта, вам нужно добавить проверки ошибок, чтобы убедиться, что ваш сервер ответил или действительно получил эхо-запрос с 10-секундным интервалом, например, если он работает под Apache, который может объединять соединения на сервере. чрезвычайно занятый сервер.

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