From 5e786faa6c577abfd48976a6839f61d08b0a6e5e Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Thu, 24 May 2018 15:35:46 +0200 Subject: Introduce proper constants for taskmanager status --- inc/property.inc.php | 2 +- inc/taskmanager.inc.php | 27 ++++++++++++---------- .../sysconfig/addmodule_custommodule.inc.php | 4 ++-- .../sysconfig/inc/configmodule.inc.php | 2 +- modules-available/sysconfig/inc/configtgz.inc.php | 2 +- modules-available/sysconfig/page.inc.php | 6 ++--- 6 files changed, 23 insertions(+), 20 deletions(-) diff --git a/inc/property.inc.php b/inc/property.inc.php index 56adb823..b69be1f8 100644 --- a/inc/property.inc.php +++ b/inc/property.inc.php @@ -168,7 +168,7 @@ class Property if (!Taskmanager::isFinished($task)) { $task = Taskmanager::waitComplete($task['id'], 5000); } - if ($task['statusCode'] !== TASK_FINISHED || !isset($task['data']['content'])) { + if ($task['statusCode'] !== Taskmanager::TASK_FINISHED || !isset($task['data']['content'])) { return isset($task['data']['error']) ? $task['data']['error'] : 'Timeout'; } $data = json_decode($task['data']['content'], true); diff --git a/inc/taskmanager.inc.php b/inc/taskmanager.inc.php index 54821e59..dab950ed 100644 --- a/inc/taskmanager.inc.php +++ b/inc/taskmanager.inc.php @@ -6,6 +6,13 @@ class Taskmanager { + const NO_SUCH_TASK = 'NO_SUCH_TASK'; + const TASK_FINISHED = 'TASK_FINISHED'; + const TASK_ERROR = 'TASK_ERROR'; + const TASK_WAITING = 'TASK_WAITING'; + const NO_SUCH_INSTANCE = 'NO_SUCH_INSTANCE'; + const TASK_PROCESSING = 'TASK_PROCESSING'; + /** * UDP socket used for communication with the task manager * @var resource @@ -49,7 +56,7 @@ class Taskmanager if ($async) return true; $reply = self::readReply($seq); - if ($reply === false || !is_array($reply) || !isset($reply['id']) || (isset($reply['statusCode']) && $reply['statusCode'] === NO_SUCH_TASK)) { + if ($reply === false || !is_array($reply) || !isset($reply['id']) || (isset($reply['statusCode']) && $reply['statusCode'] === Taskmanager::NO_SUCH_TASK)) { self::addErrorMessage($reply); return false; } @@ -82,7 +89,7 @@ class Taskmanager /** * Checks whether the given task id corresponds to a known task in the taskmanager. * Returns true iff the taskmanager is reachable and the status of the task - * is different from NO_SUCH_INSTANCE/_TASK. + * is different from Taskmanager::NO_SUCH_INSTANCE/_TASK. * If you pass an array it is assumed that it was already queried and is evaluated * directly. * @@ -96,8 +103,8 @@ class Taskmanager if (is_string($task)) { $task = self::status($task); } - return isset($task['statusCode']) && $task['statusCode'] !== NO_SUCH_INSTANCE - && $task['statusCode'] !== NO_SUCH_TASK; + return isset($task['statusCode']) && $task['statusCode'] !== Taskmanager::NO_SUCH_INSTANCE + && $task['statusCode'] !== Taskmanager::NO_SUCH_TASK; } /** @@ -110,7 +117,7 @@ class Taskmanager public static function waitComplete($task, $timeout = 2500) { if (is_array($task) && isset($task['id'])) { - if ($task['statusCode'] !== TASK_PROCESSING && $task['statusCode'] !== TASK_WAITING) { + if ($task['statusCode'] !== Taskmanager::TASK_PROCESSING && $task['statusCode'] !== Taskmanager::TASK_WAITING) { self::release($task['id']); return $task; } @@ -124,7 +131,7 @@ class Taskmanager $status = self::status($task); if (!isset($status['statusCode'])) break; - if ($status['statusCode'] !== TASK_PROCESSING && $status['statusCode'] !== TASK_WAITING) { + if ($status['statusCode'] !== Taskmanager::TASK_PROCESSING && $status['statusCode'] !== Taskmanager::TASK_WAITING) { $done = true; break; } @@ -147,7 +154,7 @@ class Taskmanager { if (!is_array($task) || !isset($task['statusCode']) || !isset($task['id'])) return true; - if ($task['statusCode'] !== TASK_WAITING && $task['statusCode'] !== TASK_PROCESSING && $task['statusCode'] !== TASK_FINISHED) + if ($task['statusCode'] !== Taskmanager::TASK_WAITING && $task['statusCode'] !== Taskmanager::TASK_PROCESSING && $task['statusCode'] !== Taskmanager::TASK_FINISHED) return true; return false; } @@ -163,7 +170,7 @@ class Taskmanager { if (!is_array($task) || !isset($task['statusCode']) || !isset($task['id'])) return false; - if ($task['statusCode'] !== TASK_WAITING && $task['statusCode'] !== TASK_PROCESSING) + if ($task['statusCode'] !== Taskmanager::TASK_WAITING && $task['statusCode'] !== Taskmanager::TASK_PROCESSING) return true; return false; } @@ -244,7 +251,3 @@ class Taskmanager } } - -foreach (array('TASK_FINISHED', 'TASK_ERROR', 'TASK_WAITING', 'NO_SUCH_TASK', 'NO_SUCH_INSTANCE', 'TASK_PROCESSING') as $i) { - define($i, $i); -} diff --git a/modules-available/sysconfig/addmodule_custommodule.inc.php b/modules-available/sysconfig/addmodule_custommodule.inc.php index 8c24a071..c234f765 100644 --- a/modules-available/sysconfig/addmodule_custommodule.inc.php +++ b/modules-available/sysconfig/addmodule_custommodule.inc.php @@ -62,7 +62,7 @@ class CustomModule_ProcessUpload extends AddModule_Base unlink($tempfile); $this->tmError(); } - if ($status['statusCode'] != TASK_FINISHED) { + if ($status['statusCode'] != Taskmanager::TASK_FINISHED) { unlink($tempfile); $this->taskError($status); } @@ -128,7 +128,7 @@ class CustomModule_CompressModule extends AddModule_Base if (!isset($status['statusCode'])) { $this->tmError(); } - if ($status['statusCode'] != TASK_FINISHED) { + if ($status['statusCode'] != Taskmanager::TASK_FINISHED) { $this->taskError($status); } // Seems ok, create entry diff --git a/modules-available/sysconfig/inc/configmodule.inc.php b/modules-available/sysconfig/inc/configmodule.inc.php index 2cee37a9..b6db9c4f 100644 --- a/modules-available/sysconfig/inc/configmodule.inc.php +++ b/modules-available/sysconfig/inc/configmodule.inc.php @@ -354,7 +354,7 @@ abstract class ConfigModule // Wait for generation if requested if ($timeoutMs > 0 && isset($ret['id']) && !Taskmanager::isFinished($ret)) $ret = Taskmanager::waitComplete($ret, $timeoutMs); - if ($ret === true || (isset($ret['statusCode']) && $ret['statusCode'] === TASK_FINISHED)) { + if ($ret === true || (isset($ret['statusCode']) && $ret['statusCode'] === Taskmanager::TASK_FINISHED)) { // Already Finished if (file_exists($this->moduleArchive) && !file_exists($tmpTgz)) $tmpTgz = false; // If generateInternal succeeded and there's no tmpTgz, it means the file didn't have to be updated diff --git a/modules-available/sysconfig/inc/configtgz.inc.php b/modules-available/sysconfig/inc/configtgz.inc.php index 5b459a2e..7b042cdb 100644 --- a/modules-available/sysconfig/inc/configtgz.inc.php +++ b/modules-available/sysconfig/inc/configtgz.inc.php @@ -112,7 +112,7 @@ class ConfigTgz // Wait for completion if ($timeoutMs > 0 && !Taskmanager::isFailed($task) && !Taskmanager::isFinished($task)) $task = Taskmanager::waitComplete($task, $timeoutMs); - if ($task === true || (isset($task['statusCode']) && $task['statusCode'] === TASK_FINISHED)) { + if ($task === true || (isset($task['statusCode']) && $task['statusCode'] === Taskmanager::TASK_FINISHED)) { // Success! $this->markUpdated(); return true; diff --git a/modules-available/sysconfig/page.inc.php b/modules-available/sysconfig/page.inc.php index 8d1799af..515d432c 100644 --- a/modules-available/sysconfig/page.inc.php +++ b/modules-available/sysconfig/page.inc.php @@ -425,12 +425,12 @@ class Page_SysConfig extends Page $task = Taskmanager::submit('DeleteFile', array( 'file' => $row['filepath'] )); - if (isset($task['statusCode']) && $task['statusCode'] === TASK_WAITING) { + if (isset($task['statusCode']) && $task['statusCode'] === Taskmanager::TASK_WAITING) { $task = Taskmanager::waitComplete($task['id']); } - if (!isset($task['statusCode']) || $task['statusCode'] === TASK_ERROR) { + if (!isset($task['statusCode']) || $task['statusCode'] === Taskmanager::TASK_ERROR) { Message::addWarning('main.task-error', $task['data']['error']); - } elseif ($task['statusCode'] === TASK_FINISHED) { + } elseif ($task['statusCode'] === Taskmanager::TASK_FINISHED) { Message::addSuccess('module-deleted', $row['title']); } Database::exec("DELETE FROM configtgz_module WHERE moduleid = :moduleid LIMIT 1", array('moduleid' => $moduleid)); -- cgit v1.2.3-55-g7522