| 
<?phpuse \Jackbooted\Cron\Cron;
 use \Jackbooted\Cron\CronDAO;
 use \Jackbooted\Cron\Scheduler;
 // /usr/bin/php /home/brettdut/public_html/voodoo/cron.php >> /home/brettdut/public_html/voodoo/_private/cron.log
 
 require_once dirname ( __FILE__  ) . "/config.php";
 set_time_limit ( 0 );
 if ( isset ( $_SERVER['HTTP_HOST'] ) ) echo '<pre>';
 _runner ();
 if ( isset ( $_SERVER['HTTP_HOST'] ) ) echo '</pre>';
 
 function _runner () {
 _runnerLog ( 'Running Cron' );
 $pageTimer = new \Jackbooted\Time\Stopwatch ( 'Run time for ' . basename ( __FILE__ ) );
 _runnerLog ( 'Checking if scheduled jobs need to be added to CronQueue' );
 Scheduler::check ();
 $numberOfItemsProcessed = 0;
 
 while ( $pageTimer->getTime () < 60 ) {
 $cronJobList = Cron::getList ( 1 );
 if ( count ( $cronJobList ) <= 0 ) break;
 
 foreach ( $cronJobList as $cronJob ) {
 _runnerLog ( 'Found Job: ' . $cronJob->id );
 flush();
 
 _runnerLog ( 'Changing the status to RUNNING for JobID: ' . $cronJob->id );
 $cronJob->status = CronDAO::STATUS_RUNNING;
 $cronJob->runTime = time();
 $cronJob->save ();
 flush();
 
 $cronJob->result  = -1;
 $cronJob->message = '';
 
 _runnerLog ( 'Running command: ' . $cronJob->command . ' ID:' . $cronJob->id );
 unset ( $result );
 @eval ( '$result = ' . $cronJob->command );
 
 if ( isset ( $result ) && is_array ( $result ) ) {
 $cronJob->result  = $result[0];
 $cronJob->message = $result[1];
 }
 
 _runnerLog ( 'Finished Job ID: ' . $cronJob->id .
 ' Result: '         . $cronJob->result .
 ' Message: '        . $cronJob->message );
 $cronJob->status = CronDAO::STATUS_COMPLETE;
 $cronJob->save ();
 flush();
 
 $numberOfItemsProcessed++;
 }
 }
 _runnerLog ( 'Processed ' . $numberOfItemsProcessed . ' items.' );
 _runnerLog ( $pageTimer->logLoadTime() );
 }
 
 function _runnerLog ( $msg ) {
 echo date ( 'd-m-Y H:i:s' ), ' ', $msg, "\n";
 }
 |