Найти тему
Битрикс и не только

Yii2 cron задачи

Оглавление

Всем привет.

Сегодня я расскажу о том, как использовать крон на проекте c Yii2.

План работ:

Настройка конфигурации

Контроллер

Постановка задачи в крон

Настройка конфигурации

Если Вы ещё не выполняли никаких действий из консоли, проверьте Ваш файл config/console.php, убедитесь, что в нем подключаются настройки соединения с базой и установлено свойство controllerNamespace

'controllerNamespace' => 'app\commands'

В моем случает контроллеры для консольных команд находятся в каталоге commands

Контроллер

За основу можно взять контроллер предустановленный с системой HelloController в котором уже описано действие actionIndex

Для примера попробуем выполнить его из консоли. Перейдем в консоли в каталог сайта и выполним команду

php yii hello/index --appconfig=config/console.php

Результатом должно быть выведено hello world

Постановка задачи в cron

Для выполнения данного действия по расписанию нужно указать полный путь до данного скрипта, а так же до файла конфигурации

/usr/bin/php /ПОЛНЫЙ_ПУТЬ_ДО_ПРОЕКТА/yii hello/index --appconfig=/ПОЛНЫЙ_ПУТЬ_ДО_ПРОЕКТА/config/console.php

И все, далее устанавливаем расписание и готово. Если у Вас не отключены оповещения на email, то на ящик должно прийти письмо с выводом из скрипта или содержанием ошибки.

На этом все. Пробуйте, если есть вопросы, задавайте в комментариях.