diff options
author | Igor Wiedler <igor@wiedler.ch> | 2010-10-28 21:38:50 +0200 |
---|---|---|
committer | Oleg Pudeyev <oleg@bsdpower.com> | 2011-02-12 22:05:51 -0500 |
commit | 1bfbcb8b7e91f4b36b703eeee7e6eeb99fbca3a0 (patch) | |
tree | e3e2a90750d6871c12b4dc759ece57230c55fb8e /phpBB/includes/cron/task.php | |
parent | 794d376be4d3587f21bf7149de428a37deaa71c8 (diff) | |
download | forums-1bfbcb8b7e91f4b36b703eeee7e6eeb99fbca3a0.tar forums-1bfbcb8b7e91f4b36b703eeee7e6eeb99fbca3a0.tar.gz forums-1bfbcb8b7e91f4b36b703eeee7e6eeb99fbca3a0.tar.bz2 forums-1bfbcb8b7e91f4b36b703eeee7e6eeb99fbca3a0.tar.xz forums-1bfbcb8b7e91f4b36b703eeee7e6eeb99fbca3a0.zip |
[feature/system-cron] remove cron_ prefix from files
PHPBB3-9596
Diffstat (limited to 'phpBB/includes/cron/task.php')
-rw-r--r-- | phpBB/includes/cron/task.php | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/phpBB/includes/cron/task.php b/phpBB/includes/cron/task.php new file mode 100644 index 0000000000..46eacff517 --- /dev/null +++ b/phpBB/includes/cron/task.php @@ -0,0 +1,80 @@ +<?php +/** +* +* @package phpBB3 +* @version $Id$ +* @copyright (c) 2010 phpBB Group +* @license http://opensource.org/licenses/gpl-license.php GNU Public License +* +*/ + +/** +* @ignore +*/ +if (!defined('IN_PHPBB')) +{ + exit; +} + +/** +* Cron task interface +* @package phpBB3 +*/ +interface cron_task +{ + /** + * Runs this cron task. + */ + public function run(); + + /** + * Returns whether this cron task can run, given current board configuration. + * + * For example, a cron task that prunes forums can only run when + * forum pruning is enabled. + */ + public function is_runnable(); + + /** + * Returns whether this cron task should run now, because enough time + * has passed since it was last run. + */ + public function should_run(); + + /** + * Returns whether this cron task can be run in shutdown function. + */ + public function is_shutdown_function_safe(); +} + +/** +* Parametrized cron task interface. +* +* Parametrized cron tasks are somewhat of a cross between regular cron tasks and +* delayed jobs. Whereas regular cron tasks perform some action globally, +* parametrized cron tasks perform actions on a particular object (or objects). +* Parametrized cron tasks do not make sense and are not usable without +* specifying these objects. +* +* @package phpBB3 +*/ +interface parametrized_cron_task extends cron_task +{ + /** + * Returns parameters of this cron task as an array. + * + * The array must map string keys to string values. + */ + public function get_parameters(); + + /** + * Parses parameters found in $params, which is an array. + * + * $params contains user input and must not be trusted. + * In normal operation $params contains the same data that was returned by + * get_parameters method. However, a malicious user can supply arbitrary + * data in $params. + * Cron task must validate all keys and values in $params before using them. + */ + public function parse_parameters($params); +} |