lxb 8 months ago
parent
commit
61b56e8339
  1. 1
      client.py
  2. 3
      data_define/client_data_example.json
  3. 62
      data_define/server_data_example.json
  4. 14
      server.py
  5. 2
      server_config.json

1
client.py

@ -150,6 +150,7 @@ def collect_data():
result_dict['error_dict'] = error_dict
result_dict['note'] = client_cfg['note']
result_dict['title'] = client_cfg['title']
result_dict['interval'] = client_cfg['interval']
return result_dict

3
data_define/client_data_example.json

@ -1,5 +1,8 @@
{
"title": "server title",
"update_time_stamp": "1673082950",
"note": "some note",
"interval": 3.0,
"error_dict":{
"gpu": "some error",
"cpu": "some error"

62
data_define/server_data_example.json

@ -0,0 +1,62 @@
{
"server_dict":{
"174":{
"title": "server title",
"update_time_stamp": "1673082950",
"note": "some note",
"error_dict":{
"gpu": "some error",
"cpu": "some error"
},
"interval": 3.0,
"gpu_list":[
{
"idx": 0,
"name": "RTX 3090",
"temperature": 100,
"used_memory": 1000,
"total_memory": 10240,
"utilization": 34,
"process_list":[
{
"user": "lxb",
"memory": 100,
"cmd": "python run.py"
}
]
}
],
"cpu":
{
"name": "i5 6500",
"temperature_list": [50, 30],
"core_avg_occupy": 31.25,
"core_occupy_list":[
12,
23,
0,
90
]
},
"storage_list":[
{
"path": "/media/F",
"available": 211108624,
"total": 5813178480
}
],
"memory":{
"total": 1935468,
"used": 1382196
},
"network_list":[
{
"name": "eth0",
"default": true,
"in": 67.8,
"out": 12.3
}
]
}
}
}

14
server.py

@ -9,7 +9,6 @@ import time
app = Flask(__name__)
CORS(app)
port = 15002
server_cfg = None
data_dict = dict()
@ -29,8 +28,16 @@ def get_data():
@app.route('/api/update_data', methods=['POST'])
def receive_data():
data = request.json
if (data['title'] in server_cfg['server_list']):
# 如果存在对应标题则更新记录
if data['title'] in server_cfg['server_list']:
data_dict['server_dict'][data['title']] = data
# 合并显示信息
if data['title'] in server_cfg['note_dict']:
client_note = data_dict['server_dict'][data['title']]['note']
server_note = server_cfg['note_dict'][data['title']]
note = server_note if client_note == '' \
else server_note + '\n' + client_note
data_dict['server_dict'][data['title']]['note'] = note
return jsonify({"status": "success"})
#endregion
@ -47,8 +54,9 @@ def main():
with open(cfg_path, 'r') as f:
server_cfg = json.load(f)
init()
# flask
app.run(debug=False, host='127.0.0.1', port=port)
app.run(debug=False, host=server_cfg['host'], port=server_cfg['port'])
if __name__ == '__main__':
main()

2
server_config.json

@ -1,4 +1,6 @@
{
"host": "127.0.0.1",
"port": 15002,
"server_list":["76", "174", "233", "222"],
"note_dict":{
"174": "test note"

Loading…
Cancel
Save