diff options
| author | Oleg Pudeyev <oleg@bsdpower.com> | 2010-04-15 03:28:59 -0400 |
|---|---|---|
| committer | Oleg Pudeyev <oleg@bsdpower.com> | 2011-02-12 22:05:49 -0500 |
| commit | 0532048292e056d62b7bafa5dda3d53b297bce94 (patch) | |
| tree | fc52918dc919199d003e08978ed0de7c56df55cb /phpBB/includes/cron_tasks/standard/queue.php | |
| parent | 9be4f438eb1915e0b8b005abe42e3796867cac29 (diff) | |
| download | forums-0532048292e056d62b7bafa5dda3d53b297bce94.tar forums-0532048292e056d62b7bafa5dda3d53b297bce94.tar.gz forums-0532048292e056d62b7bafa5dda3d53b297bce94.tar.bz2 forums-0532048292e056d62b7bafa5dda3d53b297bce94.tar.xz forums-0532048292e056d62b7bafa5dda3d53b297bce94.zip | |
[feature/system-cron] WIP on reorganizing cron tasks into classes.
PHPBB3-9596
Diffstat (limited to 'phpBB/includes/cron_tasks/standard/queue.php')
| -rw-r--r-- | phpBB/includes/cron_tasks/standard/queue.php | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/phpBB/includes/cron_tasks/standard/queue.php b/phpBB/includes/cron_tasks/standard/queue.php new file mode 100644 index 0000000000..6a69799ef4 --- /dev/null +++ b/phpBB/includes/cron_tasks/standard/queue.php @@ -0,0 +1,64 @@ +<?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; +} + +/** +* Queue cron task. Sends email and jabber messages queued by other scripts. +* +* @package phpBB3 +*/ +class queue_cron_task extends cron_task_base +{ + /** + * Runs this cron task. + */ + public function run() + { + global $phpbb_root_path, $phpEx; + include_once($phpbb_root_path . 'includes/functions_messenger.' . $phpEx); + $queue = new queue(); + $queue->process(); + } + + /** + * Returns whether this cron task can run, given current board configuration. + */ + public function is_runnable() + { + global $phpbb_root_path, $phpEx; + return file_exists($phpbb_root_path . 'cache/queue.' . $phpEx); + } + + /** + * Returns whether this cron task should run now, because enough time + * has passed since it was last run. + */ + public function should_run() + { + global $config; + return $config['last_queue_run'] < time() - $config['queue_interval_config']; + } + + /** + * Returns whether this cron task can be run in shutdown function. + */ + public function is_shutdown_function_safe() + { + global $config; + return !$config['smtp_delivery']; + } +} |
