CronTabManager

Управление crontab задания из modx
Версия 1.0.6-beta
Дата выпуска 06.03.2020
Загрузки 74
Просмотры 992
Внимание, этот компонент требует версию PHP 7.0 или выше! Если ваш сайт использует PHP ниже требуемого, установка этого дополнения может его сломать.
Внимание, этот компонент требует версию MODX не ниже 2.6 !
Компонент представляет из себя полноценный набор классов для управления крон заданиями, по мимо того что он умеет записывать крон задания напрямую в crontab (можно проверить это на modhost.pro) он так же позволяет:

  • Вести логи запусков
  • Отслеживать ошибки не завершенных заданий
  • Читать логи
  • Уведомлять администраторов о проблемах запусков заданий на email
  • Имеет уже встроенный набор классов для создания новых заданий (новое задание создается как контроллер для RESTfuil)
  • Позволяет запускать задание из админки точно так же как бы мы запускали его из под ssh пользователя

В настройка компонента есть параметр: crontabmanager_handler_class он принимает два класса:
CrontabManagerHandler — записывает задания в crontab
CrontabManagerHandlerFile — записывать задания в файл (которые нужно будет переносить в ручную)

класс CrontabManagerHandler может не работать на большинстве хостингов так как возможно много ограничений препятствовать этому.

Для полноценного теста компонент можно попробовать на modhost.pro, так как там разрешена запись задания напрямую в crontab из под веб пользователя.

Все контроллеры крон заданий хранятся в директории:
core/scheduler/Controllers/

Демонстрация как работает задания вы можете увидеть перейдя в админку


Это задание запускает контроллер demo.php, путь к контроллеру
core/scheduler/Controllers/demo.php


Внимание!!! класс контроллера должен напрямую совпадать с именем файла контроллера


То есть ваше имя класса контроллере всегда должено начинаться с
CrontabController[ТУТ ПИШЕМ путь до файла относительно папки core/scheduler/Controllers/]

Что такое контроллеры?


Если вы пользовались когда то RESTfuil то для вам не составит труда разобрать как работаю контроллеры. Создаются и запускаются контроллеры по тому же принципу.

Если чуть подробней: когда вы включаете контроллер то автоматически создается карта контроллеров c ссылками на их запуск:


Обсуждение в сообществе

1.0.6-beta

  • По умолчанию класс записи сразу в crontab

Последние обсуждения в сообществе MODX.pro