Source for file AlphaCronManager.inc
Documentation is available at AlphaCronManager.inc 
    require_once 'AlphaConfig.inc';  
require_once $config->get('sysRoot'). 'alpha/util/AlphaErrorHandlers.inc';  
 * The main class responsible for running custom cron tasks found under the [webapp]/tasks  
 * directory.  This class should be executed from Linux cron via the CLI.  
 * @author John Collins <dev@alphaframework.org>  
 * @version $Id: AlphaCronManager.inc 1341 2011-03-17 15:02:02Z johnc $  
 * @license http://www.opensource.org/licenses/bsd-license.php The BSD License  
 * @copyright Copyright (c) 2011, John Collins (founder of Alpha Framework).  
 *  Redistribution and use in source and binary forms, with or  
 *  without modification, are permitted provided that the  
 *  following conditions are met:  
 *  * Redistributions of source code must retain the above  
 *    copyright notice, this list of conditions and the  
 *  * Redistributions in binary form must reproduce the above  
 *    copyright notice, this list of conditions and the  
 *    following disclaimer in the documentation and/or other  
 *    materials provided with the distribution.  
 *  * Neither the name of the Alpha Framework nor the names  
 *    of its contributors may be used to endorse or promote  
 *    products derived from this software without specific  
 *    prior written permission.  
 *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND  
 *  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,  
 *  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF  
 *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE  
 *  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR  
 *  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,  
 *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT  
 *  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;  
 *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)  
 *  HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN  
 *  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE  
 *  OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS  
 *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  
    private static $logger =  null;  
        self::$logger =  new Logger('AlphaCronManager');              
        self::$logger->setLogFile($config->get('sysRoot'). 'logs/tasks.log');  
        self::$logger->debug('>>__construct()');  
        self::$logger->info('New AlphaCronManager invoked');  
        $taskList =  self::getTaskClassNames();  
        self::$logger->info('Found ['. count($taskList). '] tasks in the directory ['. $config->get('sysRoot'). 'tasks]');  
        foreach($taskList as $taskClass) {  
            self::$logger->info('Loading task ['. $taskClass. ']');  
            self::loadClassDef($taskClass);  
            $maxAllowedTime =  $startTime+ $task->getMaxRunTime();  
            self::$logger->info('Start time is ['. $startTime. '], maximum task run time is ['. $task->getMaxRunTime(). ']');  
            // only continue to execute for the task max time  
            set_time_limit($task->getMaxRunTime());  
            self::$logger->info('Done in ['. round(microtime(true)- $startTime, 5). '] seconds');  
        self::$logger->info('Finished processing all cron tasks');  
        self::$logger->debug('<<__construct');  
     * Loops over the /tasks directory and builds an array of all of the task  
     * class names in the system.  
        if(self::$logger ==  null) {  
            self::$logger =  new Logger('AlphaCronManager');  
            self::$logger->setLogFile($config->get('sysRoot'). 'logs/tasks.log');  
        self::$logger->debug('>>getTaskClassNames()');  
        $classNameArray =  array();          
        $handle =  opendir($config->get('sysRoot'). 'tasks');  
        // loop over the business object directory  
        while (false !==  ($file =  readdir($handle))) {  
                $classname =  substr($file, 0, - 4);  
        self::$logger->debug('<<getTaskClassNames ['. var_export($classNameArray, true). ']');  
     * Loads the definition for the task classname provided  
     * @param string $classname   
        if(self::$logger ==  null) {  
            self::$logger =  new Logger('AlphaCronManager');  
            self::$logger->setLogFile($config->get('sysRoot'). 'logs/tasks.log');  
        self::$logger->debug('>>loadClassDef(classname=['. $classname. '])');  
        if(file_exists($config->get('sysRoot'). 'tasks/'. $classname. '.inc'))  
            require_once $config->get('sysRoot'). 'tasks/'. $classname. '.inc';  
        self::$logger->debug('<<loadClassDef');  
// invoke a cron manager object  
$processor =  new AlphaCronManager();  
 
 
        
       |