yii/extensions/crontab のバックアップ差分(No.2)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
* 概要 [#m19ac122]
- crontabから呼び出すようなバッチを作るとしたらyiiではどしたらいいのかという作戦を立てる
- crontabから呼び出すようなバッチを作るとしたら使えるかもなextensionsを調べる
#contents

* extensionに頼る [#ma508494]
- crontabに書き込んでくれるextensionがあるらしい
** yii-crontab [#j1a58ad3]
* yii-crontab [#j1a58ad3]
- http://www.yiiframework.com/extension/yii-crontab
-- 書き方は↑を見れば分かるはずなのでどんな動きしてるか追うことにする
- ファイル解凍するとこんな感じ
 crontab/
 crontab/crontabs/
 crontab/Crontab.php

** Crontab.php [#x36f156d]
- new Crontab('ファイル名')で、指定したファイルにあるコマンドをロードしてくれる
--getJobs()でロードしたものを取得
 foreach($jobs_obj as $job)
        echo $job->getCommand();
 個々のコマンドを取得したい場合は↑な感じでforeachをまわす
-- eraseJobs()でjobs要素に空の配列を入れることで全てのjobを削除したことにする
- addApplicationJob
-- 実行したいファイル,付随するコマンド名を指定することでコマンドが追加できる
-- 時刻指定をしないと時刻の欄にはnullが入る(定期実行しないのかな?)
--- 任意で一緒に渡したいパラメータ(配列の形式)を指定できる
- 直接CronApplicationJobクラスのインスタンスを生成することでも追加が出来る
-- どっちを使うのが正しいの?どっちも使っていいよってこと??
- addメソッド
-- 呼び出しているcronファイルに要素を追加する
- CronApplicationJobメソッド
-- 呼び出しているcronファイルの要素をcronファイルに書き込む
- saveToCrontabメソッド
-- システム上のcrontabに直接書き込んでしまう

*** 眺めた感じの印象 [#ab5898bd]
- crontabへの登録してくれる便利だなぁ
-- これって毎回書き込むのかな?(結局1回登録すればcrontabってよしなにやってくれるはずだけど・・)
- configファイルに書いておけば、何もしなくても自動実行処理が走る感じなのでしょうか
-- でもやっぱり毎回cronに書き込みに行くんじゃないかという不安があるのだけれど
-- ファイルを呼び出して、コマンドがあればなにもしないとかっていう処理を追加すればいいのか・・
* runactions [#t649c9f3]
- http://www.yiiframework.com/extension/runactions
- controllerクラスをよしなに制御してくれるextension
-- cron以外にも色々できるっぽい・・説明が長いので後で読むとしよう・・