Yii 2 — фоновые процессы по Крону

Процессы описываются в контроллерах в папке commands (в шаблоне basic). Например, пишем какое то сообщение в журнал. Сам журнал пусть состоит из id, date и message.

namespace app\commands;

use Yii;
use yii\console\Controller;
use app\models\Log;

class LogController extends Controller
{
    public function actionWrite()
    {
        $log = new Log(['message' => 'Какое то сообщение']);
        $log->save();
    }
}

Теперь нужно добавить команду в Cron. Команда состоит из трёх частей:

  1. Так как контроллер на PHP, то понадобится путь до консольного PHP сервера/хостинга;
  2. Путь до корневого скрипта Yii;
  3. Маршрут controller/action.

Пример:

* * * * * /usr/local/bin/php8.1 ~/www/basic/yii log/write

Оставьте комментарий