summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--inc/taskmanager.inc.php21
-rw-r--r--modules/systemstatus.inc.php11
-rw-r--r--templates/systemstatus/systeminfo.html6
3 files changed, 21 insertions, 17 deletions
diff --git a/inc/taskmanager.inc.php b/inc/taskmanager.inc.php
index b61714ec..1bbdb7a5 100644
--- a/inc/taskmanager.inc.php
+++ b/inc/taskmanager.inc.php
@@ -30,26 +30,15 @@ class Taskmanager
$message = "$seq, $task, $data";
$sent = socket_send(self::$sock, $message, strlen($message), 0);
if ($sent != strlen($message)) {
- Message::addError('taskmanager-error');
+ self::addErrorMessage(false);
return false;
}
if ($async)
return true;
$reply = self::readReply($seq);
- if ($reply === false) {
- Message::addError('taskmanager-error');
- return false;
- }
- if (!is_array($reply)) {
- Message::addError('taskmanager-format');
- return false;
- }
- if (isset($reply['statusCode']) && $reply['statusCode'] === NO_SUCH_TASK) {
- Message::addError('task-error', 'Ungültiger Task: ' . $task);
- return false;
- }
- if (!isset($reply['id'])) {
- Message::addError('taskmanager-format');
+ if ($reply === false || !is_array($reply) || !isset($reply['id'])
+ || (isset($reply['statusCode']) && $reply['statusCode'] === NO_SUCH_TASK)) {
+ self::addErrorMessage(false);
return false;
}
return $reply;
@@ -102,7 +91,7 @@ class Taskmanager
return true;
return false;
}
-
+
public static function addErrorMessage($task)
{
static $failure = false;
diff --git a/modules/systemstatus.inc.php b/modules/systemstatus.inc.php
index a83a8919..67ff4415 100644
--- a/modules/systemstatus.inc.php
+++ b/modules/systemstatus.inc.php
@@ -50,6 +50,8 @@ class Page_SystemStatus extends Page
protected function ajaxDiskStat()
{
$task = Taskmanager::submit('DiskStat');
+ if ($task === false)
+ return;
$task = Taskmanager::waitComplete($task, 3000);
if (!isset($task['data']['list']) || empty($task['data']['list'])) {
@@ -106,6 +108,8 @@ class Page_SystemStatus extends Page
protected function ajaxAddressList()
{
$task = Taskmanager::submit('LocalAddressesList');
+ if ($task === false)
+ return;
$task = Taskmanager::waitComplete($task, 3000);
if (!isset($task['data']['addresses']) || empty($task['data']['addresses'])) {
@@ -132,6 +136,7 @@ class Page_SystemStatus extends Page
$cpuInfo = file_get_contents('/proc/cpuinfo');
$memInfo = file_get_contents('/proc/meminfo');
$stat = file_get_contents('/proc/stat');
+ $uptime = file_get_contents('/proc/uptime');
$cpuCount = preg_match_all('/\bprocessor\s/', $cpuInfo, $out);
//$cpuCount = count($out);
$data = array(
@@ -140,7 +145,11 @@ class Page_SystemStatus extends Page
'memFree' => '???',
'swapTotal' => '???',
'swapUsed' => '???',
+ 'uptime' => '???'
);
+ if (preg_match('/^(\d+)\D/', $uptime, $out)) {
+ $data['uptime'] = floor($out[1] / 86400) . ' Tag(e), ' . floor(($out[1] % 86400) / 3600) . ' Stunde(n)'; // TODO: i18n
+ }
if (preg_match('/\bMemTotal:\s+(\d+)\s.*\bMemFree:\s+(\d+)\s.*\bBuffers:\s+(\d+)\s.*\bCached:\s+(\d+)\s.*\bSwapTotal:\s+(\d+)\s.*\bSwapFree:\s+(\d+)\s/s', $memInfo, $out)) {
$data['memTotal'] = Util::readableFileSize($out[1] * 1024);
$data['memFree'] = Util::readableFileSize(($out[2] + $out[3] + $out[4]) * 1024);
@@ -164,6 +173,8 @@ class Page_SystemStatus extends Page
$data = array();
$taskId = Trigger::ldadp();
+ if ($taskId === false)
+ return;
$status = Taskmanager::waitComplete($taskId, 10000);
if (Taskmanager::isFailed($status)) {
diff --git a/templates/systemstatus/systeminfo.html b/templates/systemstatus/systeminfo.html
index 6b7d090d..78cdd43e 100644
--- a/templates/systemstatus/systeminfo.html
+++ b/templates/systemstatus/systeminfo.html
@@ -1,3 +1,7 @@
+<div>
+ OS Uptime: {{uptime}}
+</div>
+
<div class="slx-storechart">
<b>CPU-Last</b>
{{#cpuLoadOk}}
@@ -40,7 +44,7 @@
{{#swapWarning}}
<div>
<b>Achtung!</b> Es wird swap-Speicher genutzt. Dies kann ein Hinweis darauf sein, dass dem Satelliten-Server zu wenig physikalischer Speicher zur Verfügung steht. Im Falle von
- Performance-Problemen oder Instabilität des Server sollten Sie erwägen, den Server mit mehr RAM auszustatten.
+ Performance-Problemen oder Instabilität des Servers sollten Sie erwägen, den Server mit mehr RAM auszustatten.
</div>
{{/swapWarning}}