HCE Project DC service web UI
0.2
Hierarchical Cluster Engine DC service web UI
|
Public Member Functions | |
__construct ($expression, FieldFactory $fieldFactory) | |
setExpression ($value) | |
setPart ($position, $value) | |
getNextRunDate ($currentTime= 'now', $nth=0, $allowCurrentDate=false) | |
getPreviousRunDate ($currentTime= 'now', $nth=0, $allowCurrentDate=false) | |
getMultipleRunDates ($total, $currentTime= 'now', $invert=false, $allowCurrentDate=false) | |
getExpression ($part=null) | |
__toString () | |
isDue ($currentTime=null) |
Static Public Member Functions | |
static | factory ($expression, FieldFactory $fieldFactory=null) |
Public Attributes | |
const | MINUTE = 0 |
const | HOUR = 1 |
const | DAY = 2 |
const | MONTH = 3 |
const | WEEKDAY = 4 |
const | YEAR = 5 |
Protected Member Functions | |
getRunDate ($currentTime=null, $nth=0, $invert=false, $allowCurrentDate=false) |
Private Attributes | |
$cronParts | |
$fieldFactory |
Static Private Attributes | |
static | $order = array(self::YEAR, self::MONTH, self::DAY, self::WEEKDAY, self::HOUR, self::MINUTE) |
CRON expression parser that can determine whether or not a CRON expression is due to run, the next run date and previous run date of a CRON expression. The determinations made by this class are accurate if checked run once per minute (seconds are dropped from date time comparisons).
Schedule parts must map to: minute [0-59], hour [0-23], day of month, month [1-12|JAN-DEC], day of week [1-7|MON-SUN], and an optional year.
http://en.wikipedia.org/wiki/Cron
Definition at line 17 of file CronExpression.php.
CronExpression::__construct | ( | $expression, | |
FieldFactory | $fieldFactory | ||
) |
Parse a CRON expression.
string | $expression | CRON expression (e.g. '8 * * * *') |
FieldFactory | $fieldFactory | Factory to create cron fields |
Definition at line 82 of file CronExpression.php.
CronExpression::__toString | ( | ) |
Helper method to output the full expression.
Definition at line 223 of file CronExpression.php.
|
static |
Factory method to create a new CronExpression.
string | $expression | The CRON expression to create. There are several special predefined values which can be used to substitute the CRON expression: |
, ) - Run once a year, midnight, Jan. 1 - 0 0 1 1 * - Run once a month, midnight, first of month - 0 0 1 * * - Run once a week, midnight on Sun - 0 0 * * 0 - Run once a day, midnight - 0 0 * * * - Run once an hour, first minute - 0 * * * *
FieldFactory | $fieldFactory | (optional) Field factory to use |
Definition at line 58 of file CronExpression.php.
CronExpression::getExpression | ( | $part = null | ) |
Get all or part of the CRON expression.
string | $part | (optional) Specify the part to retrieve or NULL to get the full cron schedule string. |
Definition at line 207 of file CronExpression.php.
CronExpression::getMultipleRunDates | ( | $total, | |
$currentTime = 'now' , |
|||
$invert = false , |
|||
$allowCurrentDate = false |
|||
) |
Get multiple run dates starting at the current date or a specific date.
int | $total | Set the total number of dates to calculate |
string | DateTime | $currentTime | (optional) Relative calculation date |
bool | $invert | (optional) Set to TRUE to retrieve previous dates |
bool | $allowCurrentDate | (optional) Set to TRUE to return the current date if it matches the cron expression |
Definition at line 188 of file CronExpression.php.
CronExpression::getNextRunDate | ( | $currentTime = 'now' , |
|
$nth = 0 , |
|||
$allowCurrentDate = false |
|||
) |
Get a next run date relative to the current date or a specific date.
string | DateTime | $currentTime | (optional) Relative calculation date |
int | $nth | (optional) Number of matches to skip before returning a matching next run date. 0, the default, will return the current date and time if the next run date falls on the current date and time. Setting this value to 1 will skip the first match and go to the second match. Setting this value to 2 will skip the first 2 matches and so on. |
bool | $allowCurrentDate | (optional) Set to TRUE to return the current date if it matches the cron expression |
RuntimeExpression | on too many iterations |
Definition at line 153 of file CronExpression.php.
CronExpression::getPreviousRunDate | ( | $currentTime = 'now' , |
|
$nth = 0 , |
|||
$allowCurrentDate = false |
|||
) |
Get a previous run date relative to the current date or a specific date.
string | DateTime | $currentTime | (optional) Relative calculation date |
int | $nth | (optional) Number of matches to skip before returning |
bool | $allowCurrentDate | (optional) Set to TRUE to return the current date if it matches the cron expression |
RuntimeExpression | on too many iterations |
Definition at line 172 of file CronExpression.php.
|
protected |
Get the next or previous run date of the expression relative to a date.
string | DateTime | $currentTime | (optional) Relative calculation date |
int | $nth | (optional) Number of matches to skip before returning |
bool | $invert | (optional) Set to TRUE to go backwards in time |
bool | $allowCurrentDate | (optional) Set to TRUE to return the current date if it matches the cron expression |
RuntimeExpression | on too many iterations |
Definition at line 268 of file CronExpression.php.
CronExpression::isDue | ( | $currentTime = null | ) |
Deterime if the cron is due to run based on the current date or a specific date. This method assumes that the current number of seconds are irrelevant, and should be called once per minute.
string | DateTime | $currentTime | (optional) Relative calculation date |
Definition at line 237 of file CronExpression.php.
CronExpression::setExpression | ( | $value | ) |
Set or change the CRON expression.
string | $schedule | CRON expression (e.g. 8 * * * *) |
InvalidArgumentException | if not a valid CRON expression |
Definition at line 97 of file CronExpression.php.
CronExpression::setPart | ( | $position, | |
$value | |||
) |
Set part of the CRON expression.
int | $position | The position of the CRON expression to set |
string | $value | The value to set |
InvalidArgumentException | if the value is not valid for the part |
Definition at line 123 of file CronExpression.php.
|
private |
Definition at line 29 of file CronExpression.php.
|
private |
Definition at line 34 of file CronExpression.php.
|
staticprivate |
Definition at line 39 of file CronExpression.php.
const CronExpression::DAY = 2 |
Definition at line 21 of file CronExpression.php.
const CronExpression::HOUR = 1 |
Definition at line 20 of file CronExpression.php.
const CronExpression::MINUTE = 0 |
Definition at line 19 of file CronExpression.php.
const CronExpression::MONTH = 3 |
Definition at line 22 of file CronExpression.php.
const CronExpression::WEEKDAY = 4 |
Definition at line 23 of file CronExpression.php.
const CronExpression::YEAR = 5 |
Definition at line 24 of file CronExpression.php.