Akelosでバッチ処理
Akelos効果のレポート。と、最後に、AkActiveRecordをコマンドラインから使う方法。
今日、Akelosで作ったシステムをお客さんに受入リリースしてきました。概要は、
eBayと連携をする
ケータイ・PC両対応の
オンラインショップ&受注管理システム。
と言えば、同業者ならボリュームはだいたい想像できるでしょうか。
作り始めたのが8月からですから、なかなかのスピード感だと思います。
前半はCakePHPでプロトタイピングしていましたが、量産フェーズになる前にAkelosに切り替えました。やって正解。・・・というか、Akelosに助けられたw。予算の都合で優先を下げていた機能まで取り込むことができました。
ホッとしたところで、8月いっぱい夏休みをいただきます。
休み明けのバグ報告を楽しみにしながら・・・
Akelosについては、もはや特筆すべきことはないので、最後のエントリネタにしたいのだが、
> php batch.php
がやりたい。もちろん、ActiveRecordを使って。
ActiveRecordを単独で使うためにロードが必要なファイルを、下のソースコードで説明します。
//標準出力を抹殺
ob_start();
//とにかく何はともあれ、config.phpを何とかして読み込む。
include_once(dirname(__FILE__).DIRECTORY_SEPARATOR.'..'
.'config'.DIRECTORY_SEPARATOR.'config.php');
//他に必要なインクルードは2つ。
require_once(AK_LIB_DIR.DS.'AkActiveRecord.php');
require_once(AK_APP_DIR.DS.'shared_model.php');
//ログを取るなら、
$logger = Ak::getLogger();
//データベース設定
// $dsnは、config.phpの$database_settingsから生成されている。
// 手書きでも良し。(・・これを探すのに苦労した・・)
Ak::db(&$dsn);
//バッチ処理。
require_once("myapp_model.php");
$dao = new MyappModel();
$data = $dao->find("all");
:
$logger->error("......");
:
//出力バッファを捨てる
ob_end_clean();
?>
CakePHPか?Akelosか?Akelosはバギーなんじゃないか?
といったエントリもちらほら見かけるようになりました。
バグは直せるけど、仕様や思想は直せない。プロジェクトの環境によっては、Cakeを採用するかもしれないし、生PHPで作るかもしれない。フレームワークなんてそんなもんだと思ってます。
お客さんの機能的・金額的要件と、エンジニア(今回は私ひとり)のスキルを照らし合わせて、今回はCakeではヤバかった。Akelosの採用については、バグ云々よりも、もうちょっと全体を俯瞰して選んでるつもりです。結果的に、バグに苦しめられることはほとんどありませんでした。
以上、Akelosの巻、終わり。

