Simple and convenient installing console commands as cron jobs.
Overview ¶
Simple and convenient installing console commands as cron jobs.
- One control point to run all commands
- Crossplatform job installing
- Store schedule of launches with application source
- Grouping jobs (example: segmentation by server)
Usage ¶
Installing action 'Example1' of command 'Test' to run every 10 minutes. Just add doc-comment for console action.
class TestCommand extends CConsoleCommand{
@cron
public function actionExample1(){}
}
Installation ¶
- Step 1: Put directory PHPDocCrontab (or only PHPDocCrontab.php) into your framework extensions directory.
- Step 2: Add PHPDocCrontab.php as new console command on framework config:
'commandMap' => array(
'cron' => 'ext.PHPDocCrontab.PHPDocCrontab'
)
- Step 3: Add task to system scheduler (cron on unix, task scheduler on windows) to run every minute:
* * * * * /path/to/yii/application/protected/yiic cron
Requirements ¶
Yii Framework 1.1.6 or above
Updates ¶
- 2012-11-09: Adding logFileName option with support date & task placeholders
Resources ¶
Total 4 comments
You should add doc-comment
@cron * * * 1 *to CConsoleCommand action and add task/path/to/app/protected/yiic.bat cron runon every minuteHello! Could you help me? What Should I do in order to run it automatically every month: **whether ** I should specify the file (PHP Class or ?) in Windows Scheduler. Thanks in advance!
You are definitely right, they are really parallel.
On a GNU/Linux system, if I have setup many crons to run for example at 10am, they would be triggered at the same time and executed in parallel. If I moved them over to this extension, would this still be the case or would they run in serial? I have seen the
runCommandBackground()function in the code so I think they would run in parallel but I wanted to ask to be 100% sure...Cheers, Tom
Leave a comment
Please login to leave your comment.