Как заставить скрипт, запущенный cron, спать на Х секунд? - PullRequest
1 голос
/ 22 марта 2011

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

Что-то вроде:

loop{
     loop{
          query();
     }
     wait(3000); // wait 3 seconds and continue
}

Могу ли я это сделать? Если да, возможно ли, что время ожидания cron закончилось?

Спасибо!

Ответы [ 5 ]

4 голосов
/ 22 марта 2011

Чтобы сделать настраиваемую паузу, используйте функцию sleep.

При запуске PHP из командной строки (как cron делает), max_execution_timeпо умолчанию бесконечен , поэтому вам не придется беспокоиться о тайм-аутах, если вы не измените его самостоятельно.

3 голосов
/ 22 марта 2011

Вы можете установить предел времени выполнения в бесконечность с помощью этого:

set_time_limit(0);

И затем вы можете использовать функцию sleep(), чтобы приостановить выполнение.

2 голосов
/ 22 марта 2011

См. Функцию sleep(). Это позволяет вам ждать X секунд.

PS: вам также может понадобиться использовать set_time_limit().

1 голос
/ 22 марта 2011
// sleep for 10 seconds
sleep(10);
1 голос
/ 22 марта 2011

Использование сон .

...