[Codeigniter-users] バッチ処理について

Back to archive index

nomiso0125 nomis****@gmail*****
2008年 1月 23日 (水) 09:39:12 JST


nomiso です。

> $_SERVER['PATH_INFO'] = '/cron/cleancache';
>
> のように PATH_INFO をハードコードして実行するコントローラを指定
> するところがミソですね。

なるほど。。

Validation を使用する場合、検証時は、$_POSTからリクエストパラメータを見ているので、$this->validation->run() する前に、
$_POST["xxx"] = 値;
とすれば使えそうです。


08/01/17 に Kenji<kenji****@club*****> さんは書きました:
> Kenji です。
>
>
> On Thu, 17 Jan 2008 18:18:36 +0900
> "Kenichi Ando" <neo.k****@gmail*****> wrote:
>
> > bossatamaです。
> >
> > 08/01/17 に nomiso0125<nomis****@gmail*****> さんは書きました:
> > > nomisoです。はじめまして。
>
> > > ・毎朝6時に、あるディレクトリのCSVファイルを読み込み、ファイルの中身を検証したい。
> > >
> > >
> > > cli版のPHPであれば、以下のように、crontab で phpファイルを直接実行すれば良いと思いますが、
> > > -----------------------------------------------------------
> > > * * 6 * * * php /hoge/csv_validator.php
> > > -----------------------------------------------------------
> >
> > はい。そうですね。よくある手法だと思います。
>
> > > ・検証ロジックはCIのValidationクラスを使いたい。
> > >
> > >
> > > です。
> > >
> > > # CSVの中身を Validation に渡す方法はとりあえず無視するとして・・
> > >
> > > そもそも、この時点でWebアプリケーションではないので、CIを使うという事は、
> > > 選択肢からはずすべきなのかもしれません。
> >
> > CIはURIセグメントベースのWebアプリケーションなんで、
> > 基本的には、URIからのアクションではないでしょうか。
>
> そうですね。
>
> ただ、
>
> $ php index.php
>
> とすれば、Welcomeページが出力されますので、デフォルト
> コントローラを実行させることは可能かと思います。
>
> と思って、Wiki を調べたら、ありました。
> http://codeigniter.com/wiki/Category:Advanced::CronScript/
>
> index.php をコピーして、cron用の index.php (Wiki の例では、clean_cache.php)
> を作成し、
>
> $_SERVER['PATH_INFO'] = '/cron/cleancache';
>
> のように PATH_INFO をハードコードして実行するコントローラを指定
> するところがミソですね。
>
> 別段、ハードコードしなくても、引数から取得するようにすれば、
> 汎用的に使えますね。
>
> あとは、外部公開用の CI と同じ場所にコントローラを設置するなら
> そのコントローラを外部から起動されないように対策する。
>
> if($_SERVER['SCRIPT_FILENAME'] != 'clean_cache.php')
> exit;
>
>
> // Kenji
>
> _______________________________________________
> Codeigniter-users mailing list
> Codei****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users
>




Codeigniter-users メーリングリストの案内
Back to archive index