Cron — это специальная система, позволяющая планировать выполнение заданий. Задания выполняются в назначенное время с заданной периодичностью.
Примеры таких заданий:
Если вы пользуетесь локальной версией, ваш Cron уже настроен и не нуждается в дополнительной настройке.
В случае использования хостинга, необходима настройка системы Cron. Cron необходимо настроить на минимальный промежуток времени — каждую минуту. Предположим что ваша программа доступна по адресу http://mysite.com/cb, тогда вам необходимо настроить скачивание файла http://mysite.com/cb/cron.php каждую минуту.
Инструкции по настройка системы на хостинге
Если вы пользуетесь локальной версией, ваш Cron уже настроен и не нуждается в дополнительной настройке.
Важно: Если используется локальная версия и в какой-то момент задания Cron перестают выполняться, стоит проверить изменялся ли IP-адрес компьютера, на котором установлена программа. Если он изменялся, то стоит провести действия, описанные в этом разделе документации.
В системе Cron существуют системные задания, например:
Пользователь может как изменять параметры системных заданий, так и создавать свои задания для любых действий по расписанию. Например, для генерации автоматических отчетов.
Вначале зайдите в раздел "Настройки". Далее выберите в меню настроек пункт "Еще".
И в появившемся списке дополнительных настроек выберите вкладку "Настройки крон".
Далее вы увидите все настроенные задачи Cron.
Для удобства можете воспользоваться фильтром, выбрав необходимые вам параметры.
Есть возможность отключать задание. Это бывает полезно при отладке, например, рассылки СМС.
Далее вы можете редактировать настроенное задание, нажав на название задания, либо добавить новое задание.
При создании своего задания, вам необходимо заполнить следующие поля:
Описание — здесь возможно изменение описания процесса задания Cron, более удобное для вас.
Команда — здесь написан код скрипта, который будет задействован при использовании функции задания Cron. Важно: Редактирование этой строки для системных заданий нежелательно.
Период — функция, которая позволяет настроить периодичность выполнения задачи. Если ни один из пунктов выпадающего меню вам не подходит, то следует выбрать пункт "Расширенный".
После выбора пункта "Расширенный", появится строка вида * для написания необходимой вам периодичности. Первая цифра в строке означает минуту, вторая — час, третья - день, четвертая — месяц, пятая — день недели. все значения вносятся в числовом значении, согласно описанию, приведенному ниже. все значения вводятся через пробел. если вы не хотите указывать значение какой-либо области, то следует оставить звездочку.
Минута — укажите число в промежутке "0 — 59".
Час — укажите число в промежутке "0 — 23".
День — укажите число в промежутке 1 — 31.
Месяц — укажите число в промежутке "1 — 12".
День недели — укажите число в промежутке "1 — 7",
Также можно указать несколько чисел, через запятую для планирования заданий в определенное время или два числа через тире, чтобы задача происходила в определенный период времени.
Например:
5 13 Задание будет выполнятся каждый день в 13 часов 5 минут.
15 14 1 Задание будет выполняться 1 числа каждого месяца в 14 часов 15 минут.
0 9 1-5 Задание будет выполняться с понедельника по пятницу в 9 часов.
23 /2 Задание будет выполняться в 0:23, 2:23, 4:23 и т. д.
5 4 7 Задание будет выполняться в воскресенье в 4:05.
0 0 1 1 Задание будет выполняться первого января в 0:00.
15 10,13 1,4 Задание будет выполняться в понедельник и четверг в 10:15 и 13:15.
0-59 Задание будет выполняться ежеминутно.
/5 * Задание будет выполняться каждые пять минут.
Потренироваться с расширенными настройками можно здесь.
Поток — введите имя потока, в котором будет выполняться задание. Все задачи группируются при выполнении по потокам, одновременно в потоке может выполняться только одна задача. Т.к. все задания формируются по умолчанию в одном потоке, то они запускаются по очереди, а не одновременно, что помогает уменьшить нагрузку на хостинг. Если вам нужно, чтобы задания выполнялись одновременно, вам следует назначить заданиям разные имена потоков.
Важно: в этой строке желательно ничего не менять
Последнее время запуска — строка отображения последнего запуска задания.
Время завершения работы — строка отображения времени завершения задания
Статус — строка отображения состояния задачи.
Запретить выполнение — функция, которая осуществляет возможность запретить выполнение редактируемого процесса
Запустить только один раз и запретить задание — эта функция осуществляет возможность запустить процесс периодических задач только один раз. Эта функция может быть использована для тестирования.
Максимальное время работы — установите максимальное время выполнения задания. По умолчанию оно равно системному ограничению. По умолчанию максимальное время работы задания равно системному ограничению. В случае если задание выполняется больше времени max_execution_time, возможно задать это время вручную. Возможность изменения максимального времени работы скрипта зависит также от настроек вашего хостинга. На хостинге должна быть разрешена функция set_time_limit. В локальной версии программы никаких настроек функции set_time_limit не требуется, все работает по умолчанию. Для SaaS-аккаунтов увеличить максимальное время работы невозможно.
Также максимальное время работы может использоваться для уменьшения. Например, задание напоминания редко выполняется более 5 мин. В этом случае, если был сбой в системе (например, перезагрузка apache) и задание зависло, то задание будет удалено из выполняющихся заданий через 8 минут после его запуска.
_Cистемное ограничение времени работы (max_executiontime) — системное ограничение максимального времени выполнения задания, данное ограничение нельзя поменять на данной странице
Отслеживать корректность выполнения задания — при включении данной опции система отслеживает корректность завершения скрипта Cron. Проверяются ошибки типа Warning и Error. При возникновении ошибки отправляется письмо на адрес первого пользователя программы (Администратора).
Результат скрипта — можно задать условие, проверяющее результат работы Cron-скрипта. Например, если точно известно, что результат работы должен быть равен слову «Done», то нужно выставить условие «Равно Done».
Лог — нажав на текст "Просмотр n строк", можно увидеть все процессы, которые выполнялись в ходе заданного процесса на данный период.
Отчистить лог — поставив галочку напротив данного пункта, можно отчистить лог.
Справка — описание представления (отчета). Выводится после отчета внизу страницы.
Выполнить сейчас — после нажатия на кнопку откроется окно с логом, в котором по окончании выполнения задания выведется результат.
Выполнив все необходимые настройки, нажимаем "Сохранить".
В разделе "Монитор" представлен список текущих выполняющихся заданий, а также заданий которые стоят в очереди на выполнение, сгруппированные по потокам. Вы можете сбросить очередь потоков, в случае если вы точно знаете что задачи завершились не корректно, и задача висит в очереди. Но это не рекомендуется, в любом случае если задание зависло оно будет автоматически завершено в течение 4-х часов.
В CRM появилась возможность установить сигнализатор на те задания CRON, которые выполнились некорректно. Например, вы настроили CRON и какое то время он выполнялся корректно, но потом стал выдавать ошибку. В случае если у вас включен сигнализатор то: данное задание подсветится розовым цветом в общем списке заданий, администратор системы увидит напоминание и получит письмо на свою электронную почту о том, что произошла ошибка.
Опытные администраторы могут также выставить условие, которое будет проверять результат выполнения CRON не только на критические ошибки, но и на присутствие необходимого им текста. Для этого необходимо использовать поле "Результат скрипта". Например, "Результат скрипта" - "Содержит" - "Done". В случае, если условие выполняется, скрипт работает корректно.
В программе есть возможность делать импорт и экспорт с помощью системы Cron. Подробнее читайте в разделах по ссылкам.
Ваши вопросы, замечания и предложения по данному разделу оставляйте в комментариях, мы обязательно ответим.
Удачных настроек!