YiiでCronを利用する場合、
の作業をする必要があります。
コマンドラインの処理を動かす際に利用するYiiの設定は、protected/config/console.phpにあります。DBやエクステンションを利用するのであれば、protected/config/main.phpと同様の設定をする必要があります。
その後、Cronで動かすコマンドを以下のように追記します。
return array(
'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
'name'=>'My Console Application',
'commandMap'=>array(
'cronjob'=>array(
'class'=>'application.commands.CronJobCommand',
),
), cronjobがコマンド名、application.commands.CronJobCommandがこのコマンドの
クラスを記述したパスエイリアスです。
protected/commands/CronJobCommand.phpを作成します。
class CronJobCommand extends CConsoleCommand
{
public run($args)
{
$error=false;
//Cronで実行する処理を書く
//処理に失敗した場合は1を返す
//処理に成功した場合は0を返す
return $error ? 1 : 0;
}
} @daily yiic cronjob
のようにCronに登録すれば、毎日cronjobの処理が動くようになります。