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