#! /usr/bin/php 
<?php 
/** 
 * sample cronjob file 
 * @version 2009-11-16 17:49:25 +0100 
 * @copyright Martin Pircher <[email protected]> 
 * @author Martin Pircher <[email protected]> 
 * @link http://www.pircher.net/ 
 * @license http://opensource.org/licenses/MIT MIT License 
 * @package Cronjob 
 */ 
 
use \mplx\toolkit\cronjob\CronJob; 
 
/** 
 * Database configuration 
 */ 
include 'config.inc.php'; 
 
/** 
 * Check for CLI 
 */ 
if (@php_sapi_name() != 'cli') { 
    die('ERROR: This script will only work in the shell'.PHP_EOL); 
} 
 
/** 
 * Include cronjob php class 
 */ 
include dirname(__FILE__).'/../src/cronjob.php'; 
 
/** 
 * Initialize 
 * 
 * create object and initialize database connection 
 * database table has to be already created, this can be done by calling $job->createTable(); 
 */ 
$job = new CronJob('samplejob', $dbcfg); 
 
/** 
 * in case job is new then register it and schedule it for every 60minutes 
 */ 
if (! $status = $job->getStatus()) { 
    $job->registerJob(__FILE__, 60); 
    $job->scheduleJob(time() + 60); 
    $job->enableJob(); 
    $status = $job->getStatus(); 
} 
 
/** 
 * Locking 
 * 
 * in this sample we don't want to run the script multiple times so we lock it for the runtime 
 */ 
if ($status['locked'] == 'y') { 
    die('ERROR: Cronjob still running!?'.PHP_EOL); 
} 
 
if ($job->setLock()) { 
    echo "Locked".PHP_EOL; 
} else { 
    echo "Error on lock".PHP_EOL; 
} 
 
/** 
 * here goes the jobcode... 
 */ 
echo "EXECUTING SAMPLE CRONJOB...".PHP_EOL; 
print_r($status); 
echo "SLEEPING 5s...".PHP_EOL; 
sleep(5); 
 
/** 
 * Reschedule for next run 
 */ 
$nextRun = time()+$status['interval']; 
if ($job->scheduleJob($nextRun)) { 
    echo "Rescheduled".PHP_EOL; 
} else { 
    echo "Error on reschedule".PHP_EOL; 
} 
if ($job->releaseLock()) { 
    echo "Unlocked".PHP_EOL; 
} else { 
    echo "Error on unlock".PHP_EOL; 
} 
 
/** 
 * Disable the job, will not run anymore 
 */ 
if ($job->disableJob()) { 
    echo "Job disabled. To run by scheduler you'll need to enable the job.".PHP_EOL; 
} else { 
    echo "Error on disable".PHP_EOL; 
} 
 
 |