summaryrefslogtreecommitdiffstats
path: root/inc/taskmanager.inc.php
diff options
context:
space:
mode:
Diffstat (limited to 'inc/taskmanager.inc.php')
-rw-r--r--inc/taskmanager.inc.php16
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;