diff options
Diffstat (limited to 'inc/taskmanager.inc.php')
-rw-r--r-- | inc/taskmanager.inc.php | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/inc/taskmanager.inc.php b/inc/taskmanager.inc.php index 8fe70d00..547a75d4 100644 --- a/inc/taskmanager.inc.php +++ b/inc/taskmanager.inc.php @@ -175,6 +175,22 @@ class Taskmanager return false; } + /** + * Check whether the given task is running, that is either waiting for execution + * or currently executing. + * + * @param array $task struct representing task, obtained by ::status + * @return boolean true if task is waiting or executing, false if waiting for execution or currently executing, no valid task, etc. + */ + public static function isRunning($task) + { + if (!is_array($task) || !isset($task['statusCode']) || !isset($task['id'])) + return false; + if ($task['statusCode'] === Taskmanager::TASK_WAITING || $task['statusCode'] === Taskmanager::TASK_PROCESSING) + return true; + return false; + } + public static function addErrorMessage($task) { static $failure = false; |