Kenichi Ando
neo.k****@gmail*****
2008年 1月 17日 (木) 18:18:36 JST
bossatamaです。 08/01/17 に nomiso0125<nomis****@gmail*****> さんは書きました: > nomisoです。はじめまして。 > > > 「codeigniter の恩恵にあずかるには」って箇所の真意が > > ちょっと伝わりませんでした。 > > cronはOS側なんで、CIとは無関係ですし。 > > CIでPHPのshell_exec()メソッドを使って、何かやるってこと > > でしょうか? > > 説明不足で、すみません。。 > > > やりたいことは、こんな感じです。 > > > ・毎朝6時に、あるディレクトリのCSVファイルを読み込み、ファイルの中身を検証したい。 > > > cli版のPHPであれば、以下のように、crontab で phpファイルを直接実行すれば良いと思いますが、 > ----------------------------------------------------------- > * * 6 * * * php /hoge/csv_validator.php > ----------------------------------------------------------- はい。そうですね。よくある手法だと思います。 > > > ・検証ロジックはCIのValidationクラスを使いたい。 > > > です。 > > # CSVの中身を Validation に渡す方法はとりあえず無視するとして・・ > > そもそも、この時点でWebアプリケーションではないので、CIを使うという事は、 > 選択肢からはずすべきなのかもしれません。 CIはURIセグメントベースのWebアプリケーションなんで、 基本的には、URIからのアクションではないでしょうか。 > > ただ、CIの持つ機能は魅力的です。 > > なので、CIを使って、上記処理を行う Controller を作成し、wget を使えば・・ > > ----------------------------------------------------------- > * * 6 * * * wget http://example.com/hoge/csv_validator/ > ----------------------------------------------------------- > > ・Validation などCIの機能がそのまま使える > ・バッチ処理作成のための学習コストがかからない(CIでの作成方法と同じなので) > > と思います。 > > このあたりが「codeigniter の恩恵にあずかるには」という事です。 なるほど。よくわかりました。 例えば、get_instance() メソッドを使ってCI内部のリソースにアクセス するなどで、FW外のファイルでも手軽にCIの機能を使えるようになる かもしれません。 ただ、このようなファイルは直接アクセスできない領域で実行される べきものでしょうね。 実際、Webアプリケーション以外でCIを利用した経験がありませんので 利用したことのある方があったら、コメントください。 > > > ただ、なんとなく邪道?のような気がして、投稿させていただきました。 > 以下のような問題もありそうです。 いえいえ、遠慮しないでください。 > > ・Webサーバー経由なので、Webサーバーがダウンしていたら動かない。 > 直接実行に比べて確実ではない。 例えば、結果のFLASE/TRUEをメールでお知らせするとかどうでしょうか。 信頼性は多少上がるかもしれませんね。 > > ・長い時間かかる処理はタイムアウトが発生する。 PHPの実行時間をphp.iniで調節できたと思いますよ。 > > など。。 > > _______________________________________________ > Codeigniter-users mailing list > Codei****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users >