cakeでバッチのプログラムを書く機会があったのでメモします。
まあ、バッチだったらcakeでなくてもいいのですが、やはりcakeのModelをいろいろと使えると便利ですので・・
まずファイルパスですが、/app/Console/Commandの下に置きます。
ソース
(ファイル名SampleHogeShell.phpとします。)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<?php App::uses('AppShell', 'Console/Command'); class SampleHogeShell extends AppShell { //モデルを読み込む public $uses = array ( 'Model', 'Model2' ); /** * バッチのメイン処理 */ public function main() { $this->out ( "start_batch" ); $this->out ( date ( "Y-m-d H:i:s" ) ); $this->func1(); $this->out ( date ( "Y-m-d H:i:s" ) ); $this->out ( "last_batch" ); } public function func1(){ $this->Model->func2(); } } |
起動方法
php C:\xampp\htdocs\cake\app\Console\cake.php sampleHoge
でOKです。sampleHogeが小文字であることに注意。