Cron. Время

    Crontab в Панеле Управления должен быть настроен на работу, с максимальной частотой, которая разрешена на вашем хосте. В идеале, он должен каждую минуту пытаться запустить программу admin/cron.php, входящую в состав плагина.

    Программа admin/cron.php может отказать Crontab-у, и не запуститься, если:

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

    Время старта пакета.

    Настраивается в каждой форме поставщика индивидуально, во вкладке "Cron":

    (пробелы не допускаются, символ * означает "каждый").

    Пояснения к рисунку:

    • старт пакета в любую минуту часа: с 5:00 до 5:59
    • старт пакета в любую минуту часа: с 13:00 до 13:59
    • старт пакета в любую минуту часа: с 19:00 до 19:59
    • только в понедельник(1), среду(3) и пятницу(5)
    • каждую неделю месяца.

    Такие настройки предписывают пакету стартовать первый раз в понедельник, в 5:00, если предыдущий пакет закончил свою работу. Иначе, он может стартовать позже, в любую минуту от 5:00 до 5:59.

    Время крона на сервере может не совпасть с временем вашего часового пояса, и может не совпасть с временем сервера:

    Поэтому число в поле "GMT:" подбирается эмпирически.

    Период.

    Время старта пакета может быть обозначено символом * . Это означает, что пакет должен стартовать сразу после окончания работы предыдущего пакета. Таким образом, можно запустить работу всех пакетов по кругу, в порядке приоритета.

    Но для того, чтобы все время не выполнялся только пакет с приоритетом 1 нужно установить период, в течение которого ни один пакет не сможет выполниться повторно.

    По-умолчанию, в программе cron.php установлен период 240 минут, это значит, что каждый пакет сможет выполниться повторно не ранее, чем через 4 часа.

    Т.е. мы взяли на себя смелость предположить, что все ваши задания успеют выполниться за 4 часа. Если мы ошиблись, поправьте нас в файле admin/cron.php в этом месте:

    Величина периода не должна быть меньше суммарного времени работы всех пакетов.

    Внимание.

    Например, если период установлен на 4 часа, то такая настройка времени не имеет смысла:

    т.к. если пакет стартует в 2 часа ночи, то следующий его старт возможен не ранее 6 часов утра.

    P.S.

    Часто при отладке используется запуск крона из строки браузера:  site.com/admin/cron.php

    Если вы не хотите ждать 4 часа, чтобы запустить пакет повторно, временно, установите период 1 минута.

    usergio Copyright © 2025