mirror of
https://github.com/lollipopkit/flutter_server_box.git
synced 2025-12-17 15:24:35 +01:00
Re-add try catch for getting status func.
This commit is contained in:
@@ -35,11 +35,6 @@ class ServerStatus {
|
|||||||
late List<DiskInfo?> disk;
|
late List<DiskInfo?> disk;
|
||||||
late TcpStatus tcp;
|
late TcpStatus tcp;
|
||||||
|
|
||||||
ServerStatus(
|
ServerStatus(this.cpu2Status, this.memList, this.sysVer, this.uptime,
|
||||||
this.cpu2Status,
|
this.disk, this.tcp);
|
||||||
this.memList,
|
|
||||||
this.sysVer,
|
|
||||||
this.uptime,
|
|
||||||
this.disk,
|
|
||||||
this.tcp);
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -73,15 +73,18 @@ class ServerProvider extends BusyProvider {
|
|||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
try {
|
||||||
await Future.wait(_servers.map((s) async {
|
await Future.wait(_servers.map((s) async {
|
||||||
final idx = _servers.indexOf(s);
|
final idx = _servers.indexOf(s);
|
||||||
final status = await _getData(s.info, idx);
|
final status = await _getData(s.info, idx);
|
||||||
if (status != null) {
|
if (status != null) {
|
||||||
_servers[idx].status = status;
|
_servers[idx].status = status;
|
||||||
notifyListeners();
|
notifyListeners();
|
||||||
}
|
}
|
||||||
}));
|
}));
|
||||||
|
} catch (e) {
|
||||||
|
rethrow;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Future<void> startAutoRefresh() async {
|
Future<void> startAutoRefresh() async {
|
||||||
@@ -136,21 +139,27 @@ class ServerProvider extends BusyProvider {
|
|||||||
logger.warning(e);
|
logger.warning(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
try {
|
||||||
|
final cpu = await client.execute("cat /proc/stat | grep cpu") ?? '';
|
||||||
|
final mem = await client.execute('free -m') ?? '';
|
||||||
|
final sysVer = await client.execute('cat /etc/issue.net') ?? '';
|
||||||
|
final upTime = await client.execute('uptime') ?? '';
|
||||||
|
final disk = await client.execute('df -h') ?? '';
|
||||||
|
final tcp = await client.execute('cat /proc/net/snmp') ?? '';
|
||||||
|
|
||||||
final cpu = await client.execute("cat /proc/stat | grep cpu") ?? '';
|
return ServerStatus(
|
||||||
final mem = await client.execute('free -m') ?? '';
|
_getCPU(cpu, _servers[idx].status.cpu2Status),
|
||||||
final sysVer = await client.execute('cat /etc/issue.net') ?? '';
|
_getMem(mem),
|
||||||
final upTime = await client.execute('uptime') ?? '';
|
sysVer.trim(),
|
||||||
final disk = await client.execute('df -h') ?? '';
|
_getUpTime(upTime),
|
||||||
final tcp = await client.execute('cat /proc/net/snmp') ?? '';
|
_getDisk(disk),
|
||||||
|
_getTcp(tcp));
|
||||||
return ServerStatus(
|
} catch (e) {
|
||||||
_getCPU(cpu, _servers[idx].status.cpu2Status),
|
_servers[idx].connectionState = ServerConnectionState.failed;
|
||||||
_getMem(mem),
|
notifyListeners();
|
||||||
sysVer.trim(),
|
logger.warning(e);
|
||||||
_getUpTime(upTime),
|
return null;
|
||||||
_getDisk(disk),
|
}
|
||||||
_getTcp(tcp));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Cpu2Status _getCPU(String raw, Cpu2Status old) {
|
Cpu2Status _getCPU(String raw, Cpu2Status old) {
|
||||||
|
|||||||
@@ -14,6 +14,14 @@ class ServerDetailPage extends StatefulWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
class _ServerDetailPageState extends State<ServerDetailPage> {
|
class _ServerDetailPageState extends State<ServerDetailPage> {
|
||||||
|
late MediaQueryData _media;
|
||||||
|
|
||||||
|
@override
|
||||||
|
void didChangeDependencies() {
|
||||||
|
super.didChangeDependencies();
|
||||||
|
_media = MediaQuery.of(context);
|
||||||
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Consumer<ServerProvider>(builder: (_, provider, __) {
|
return Consumer<ServerProvider>(builder: (_, provider, __) {
|
||||||
@@ -34,11 +42,14 @@ class _ServerDetailPageState extends State<ServerDetailPage> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Widget _buildCPUView(ServerStatus ss) {
|
Widget _buildCPUView(ServerStatus ss) {
|
||||||
return ListView.builder(
|
return ConstrainedBox(
|
||||||
itemBuilder: (ctx, idx) {
|
constraints: BoxConstraints(maxHeight: _media.size.height * 0.3),
|
||||||
return Text('$idx ${ss.cpu2Status.usedPercent(coreIdx: idx)}');
|
child: ListView.builder(
|
||||||
},
|
itemBuilder: (ctx, idx) {
|
||||||
itemCount: ss.cpu2Status.now.length,
|
return Text('$idx ${ss.cpu2Status.usedPercent(coreIdx: idx)}');
|
||||||
|
},
|
||||||
|
itemCount: ss.cpu2Status.now.length,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user