FuelPHPのTaskを利用する

php

FuelPHPでバッチ処理を行う際に利用するTaskですが、とても簡単に使える上にmodelなどを共通で使うことができるため実装も簡単になります。
今回は、データを取得しデータベースに保存するところまでやってみたいと思います。

 

作成するものですが、特定のURLへアクセスし内容(html)を取得し、そのまま保存するだけの何に使えるか・・・わからない物です。

 

まずは、データベースに下記のテーブルを用意します。
[sql]
CREATE TABLE sample (
id INT(11) UNSIGEND NOT NULL AUTO_INCREMENT,
url VARCHAR(256) NOT NULL,
html TEXT,
PRIMARY KEY (id)
);
[/sql]

 

今回はデータベース接続にModelを利用するので、app/classes/modelにSample.phpを用意します。
[php]
html = $html;
} else {
$model = Model_Sample::forge();
$model->url = $url;
$model->html = $html;
}
$model->save();
}
}
[/php]

 

イレギュラーな処理については考慮していませんが、単純にURLベースに内容を保存するだけならコレで大丈夫です。

 

では、この処理を実行してみます。
[shell]
php oil refine sample “http://blog.code4u.org/”
[/shell]

 

上記の方法でも実行ができますが、refineの部分を下記のようにrにすることも可能です。
[shell]
php oil r sample “http://blog.code4u.org/”
[/shell]

 

実行後にSQLを実行することでデータが登録されていることが確認できるはずです。
Taskを利用することで、既存の資源(Modelなど)を利用できるため、少ないコードで簡単に実装できるのは魅力的です。

コメント

タイトルとURLをコピーしました