Cron
Содержание
Что это делает?
Cron — это программа, доступная в операционных системах на базе Unix, которая позволяет пользователям запускать команды и скрипты через заданные интервалы или в определённое время.
Обработчик cron в Elgg позволяет администраторам и разработчикам плагинов настраивать задачи, которые необходимо выполнять через заданные интервалы.
Наиболее распространённые примеры задач cron в Elgg включают:
отправка очереди уведомлений
ротация системного лога в базе данных
сбор мусора в базе данных (сжатие базы данных путём удаления записей, которые больше не требуются)
Плагины могут добавлять задачи, регистрируя обработчик событий для одного из следующих интервалов cron:
minute— запуск каждую минуту
fiveminute— запуск каждые 5 минут
fifteenmin— запуск каждые 15 минут
halfhour— запуск каждые 30 минут
hourly— запуск каждый час
daily— запуск каждый день
weekly— запуск каждую неделю
monthly— запуск каждый месяц
yearly— запуск каждый год
elgg_register_event_handler('cron', 'hourly', function() {
$events = my_plugin_get_upcoming_events();
foreach ($events as $event) {
$attendees = $event->getAttendees();
// notify
}
});
Как это работает?
crontab должен быть настроен таким образом, чтобы активировать обработчик cron Elgg каждую минуту или через определённый интервал. Как только cron tab активирует задачу cron, Elgg выполняет все обработчики событий, привязанные к этому интервалу.
Если у вас есть доступ по SSH к вашим Linux-серверам, введите crontab -e и добавьте конфигурацию crontab.
* * * * * path/to/phpbin path/to/elgg/elgg-cli cron -q
Приведённая выше команда будет запускаться каждую минуту и активировать все подлежащие выполнению задачи cron.
При необходимости вы можете активировать обработчики для определённого интервала:
0 * * * * path/to/phpbin path/to/elgg/elgg-cli cron -i hourly -q