Cron

deejae

Гуру форума
Регистрация
22 Фев 2009
Сообщения
170
Реакции
99
Доброго времени суток форумчане

Имеются сервера с дорами. Все доры парсят посты по крону. На каждый дор крон срабатывает раз в час. Первый стартует в * */1 * * *, второй * */2 * * * и так далее. Все хорошо пока 61 дор не накрывает пересечением сработку первого, 62 второго и так далее.
На сервере 400 доров и сработка в одну минуту сразу 6 кронов довольно сильно бьет по нагрузке на сервак.
Уменьшать время работы php в секундах не могу что бы парсеры успели доделать свою работу и создать посты
Вопрос в том как бы заставить работать кроны по очереди от первого до последнего и потом начинался бы новый круг (1 сработал, в следующую минуту второй и так далее до последнего, а потом круг начинался заново)
Может есть какие то крон движки\скрипты для такого дела?
 
А запускает PHP?

Можно небольшой скрипт сделать, типа:
PHP:
$count = 60; // Количество
$last = file_get_contents(__DIR__.'/last.txt');

if($last === $count)
{
    $last = 0;
}
else
{
    $last++;
}

file_put_contents(__DIR__.'/last.txt', $last);

// Тут номер обрабатываем (получаем именно для него настройки или отдельный файл подключаем и еще много вариантов)
include __DIR__.'/file_'.$last.'.php';
 
Назад
Сверху