Как долго может выполняться задание php cron / правильно ли я делаю?

Я создал парсер php / mysql, который работает нормально, и понятия не имею, как наиболее эффективно запустить его как задание cron.

Существует 300 сайтов, каждый из которых содержит от 20 до 200 страниц. Очистка всех сайтов занимает от 4 до 7 часов (в зависимости от задержки в сети и других факторов). Скребок должен выполнять полный цикл один раз в день.

Должен ли я запускать это как 1 задание cron, которое выполняется в течение 4–7 часов, или запускать его каждый час 7 раз, или запускать его каждые 10 минут до завершения?

Скрипт настроен для запуска из cron следующим образом:

while($starttime+600 > time()){
   do_scrape();
}

Которая будет запускать функцию do_scrape (), которая очищает 10 URL-адресов за раз, пока (в данном случае) не пройдет 600 секунд. Выполнение do_scrape может занять от 5 до 60 секунд.

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

Я написал его на ванильном PHP / mysql, и он работает на урезанном debian VPS с установленным только lighttpd / mysql / php5. Я запустил его с таймаутом 6000 секунд (100 минут) без каких-либо проблем (сервер не упал).

Приветствуются любые советы о том, как выполнять эту задачу. Чего мне следует остерегаться и т. Д.? или я все сделаю неправильно?

Спасибо!

8
задан Michael 29 September 2011 в 03:28
поделиться