cronã¨ãã®æ¸ãæ¹
ãµã¼ãå´ã®èªåå¦çãªãããCakePHPã§æ¸ãããã¨ãã«ã©ããããã¨ããã話ãCronã¨ãã
APPã¯ã¢ããªã®ãã¹ãCOREã¯CakePHPããã¦ãã¨ãããã
â STEP 1 - APP/vendor/shellsã«ã¾ãã¯ãã£ã¹ãããã£ãç½®ãã
ä¾ãã°cron.phpã¨ãããã¡ã¤ã«ã«CronShellã¨ããã¯ã©ã¹ãæ¸ãã¦ããã¨
cake cron
ã¨ããã¨cake bakeããã¨ãã®ããã«å®è¡ã§ããã
â STEP 2 - Taskãæ¸ã(ã³ã³ããã¼ã©ã§ããã¨ããã®Action)
STEP 1ã§æ¸ããCronShellã¯ã©ã¹ã«main()é¢æ°ãä½ã£ã¦ãããã§å¦çãå¼ã³åºãã
ãã³ããªã³ã°ããããªããã©ã¡ã¼ã¿ããã¼ã¹ãã¦é©å½ã«ãããªã«ããã
å®éã®å¦çã¯APP/vendor/shells/tasks/test.phpã¿ãããshells/tasksã®ä¸ã«ç½®ãã¦ããã
åãShellã¯ã©ã¹ã®ç¶æ¿ã ããååã¯*Taskã«ãã¦ãããã¨ã
CORE/console/libs/bake.phpã®ã³ã¼ããåèã«ããã¨è¯ãã
APP/vendor/shells/cron.php class CronShell extends Shell{ var $tasks = array('test'); /* å¼ã³åºãTaskãåæãã¦ãã */ function main(){ $this->Test->execute(); exit(0); /* Shellã ãããã¡ãããªã¿ã¼ã³ã³ã¼ãè¿ãã¦ãã */ } }
APP/vendor/shells/tasks/test.php class TestTask extend Shell { var $uses = array('Hoge'); /* HogeModelã使ããã¨ã«ãã */ function execute(){ $r = $this->Hoge->findAll(); var_dump( $r ); } }
â ãã®ä»ã®ãã¿
- templateãããã£ã½ãããã¾ãã¡ä½¿ãã©ããããããã¡ã
- Shellã¯ã©ã¹ã¯Objectã¯ã©ã¹ã®ç¶æ¿ã«ãªã£ã¦ãã®ã§requestActionã¡ã½ãããå©ããï½
- ã³ã³ããã¼ã©ãåå¨ããªãã®ã§ãã³ã³ãã¼ãã³ãã使ããªãã£ã½ãã->vendorã§ããã°ããããããï¼