FuelPHPでcronから定期実行をするにはTaskをつかうと良いみたい
こんな感じで/fuel/app/tasksの中にTaskファイルを作成
useで使うクラスを読み込めばControllerと同じようにDBへの接続ができます。
/fuel/app/tasks/test.php
<?php
namespace Fuel\Tasks;
use Fuel\Core\Cli;
use Fuel\Core\DB;
use Fuel\Core\DBUtil;
use Curl\CurlUtil;
class Test
{
public function run()
{
echo "実行する処理";
}
public function get_user($name = "nanashi_san")
{
echo DB::select('*')->from('users')->where('name', $name)
}
}
?>
これでTestという名前のタスクができあがります。
タスクはコマンドラインで実行可能!
メソッドを追加して個別に呼び出したり、引数を加えることもできます。
$ php oil refine test
$ php oil refine test:get_user "narita_keisuke"
あとはcrontabにコマンドを追加してあげるだけ
$ crontab -e
0 * * * * php /var/www/oil refine test
これで1時間毎に定期実行されます。