Перейти к основному содержимому

Планировщик задач

Управление планировщиком задач

Администратор может очень точно планировать рутинные задачи из раздела «Управление > Администрирование > Сервер > Задачи > Планировщик задач».

Обратите внимание, что вам всё равно нужно регулярно запускать скрипты cron (admin/cli/cron.php или https://yoursite/admin/cron.php). Рекомендуется запускать cron каждую минуту.

Планировщик задач
Редактирование запланированной задачи

Нажав на значок редактирования, администратор может указать минуту/час/день/месяц или день недели, в который должна выполняться задача. Также можно вернуть задачу к настройкам по умолчанию или полностью её отключить.

Столбец «Следующее выполнение» предоставляет информацию о том, отключён ли плагин или задача (а также дату следующего выполнения задачи).

Цвета

Если вы видите запланированную задачу, выделенную жёлтым/оранжевым цветом, это означает, что настройки были изменены с значений по умолчанию.

Если вы видите запланированную задачу, выделенную красным цветом, это означает, что она достигла максимального количества повторных попыток, то есть почти наверняка не работает.

scheduledtaskcolours.png

Обработка задач

Из раздела «Администрирование > Сервер > Задачи > Обработка задач» вы можете отключить/включить cron, а также просмотреть и изменить обработку запланированных и специальных задач.

Время запроса дополнительных задач можно настроить с помощью параметра «Время действия» (значение по умолчанию — 3 минуты).

Формат планирования задач

При вводе в поля формат совпадает с форматом Unix cron. Примеры приведены ниже в соответствии с тем, какое поле вы редактируете:

* — каждую минуту, час, день, месяц
*/2 — каждые две минуты, каждые два часа или каждый второй день
2-10 — каждую минуту между двумя и десятью минутами после часа или каждый час между 2 и 10 утра
0 — каждое воскресенье
1 — каждый понедельник или каждый январь
2,5 — второе и пятое число месяца, или февраль и май, или вторник и пятница.

По умолчанию: R означает, что при сохранении изменений выбирается случайное значение. Это помогает более равномерно распределять задачи, вместо того чтобы запускать слишком много из них в час, полночь и т. д.

Задержка после неудачного запуска

Если вы пытаетесь отладить задачу cron, вы можете заметить, что «Задержка после неудачного запуска» заполняется числом. Это время в секундах, которое cron будет откладывать запуск задачи. Чтобы обойти эту проблему в целях разработки, ознакомьтесь с разделом «Планировщик задач» здесь: Управление через командную строку#Планировщик задач.

Запуск отдельных задач

Чтобы иметь возможность запускать отдельные запланированные задачи через ссылки «Запустить сейчас» на странице запланированных задач, необходимо включить «Разрешить запуск сейчас для запланированных задач» (tool_task | enablerunnow) в разделе «Администрирование / Безопасность / Настройки безопасности сайта» и установить «Путь к PHP CLI» (pathtophp) в разделе «Администрирование / Сервер / Системные пути».

examplescheduledtasks.png

Специальные задачи

В разделе «Администрирование > Сервер > Задачи > Специальные задачи» вы можете увидеть специальные задачи, сгруппированные по названиям классов.

Нажав на название компонента/класса, вы получите ссылку для запуска этой конкретной специальной задачи из интерфейса.

Специальные задачи также можно запускать по отдельности из командной строки через admin/cli/adhoc_task.php. Варианты:

  • Запуск по идентификатору
  • По классу
  • Только неудачные

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

См. MDL-70975 для примера команд CLI для запуска вышеуказанных специальных задач.

Задачи, выполняемые сейчас

Текущие выполняемые задачи можно просмотреть в разделе «Администрирование > Сервер > Задачи > Задачи, выполняемые сейчас». TasksRunningNow.png

Запуск задачи из CLI

Вы также можете запустить отдельную задачу из командной строки (см. Управление через командную строку).