Commit 755bb7fc authored by wanli's avatar wanli

🎈 perf(资源监视器): 增加异常捕获,提高稳定性

parent fe8e719b
'''
Author: your name
Date: 2021-06-29 19:24:32
LastEditTime: 2021-07-21 10:27:25
LastEditTime: 2021-07-21 11:43:14
LastEditors: Please set LastEditors
Description: In User Settings Edit
FilePath: \evm-store\backend\controller\monitor.py
......@@ -118,14 +118,15 @@ def insert_data(msg):
watch_id = result.id
else:
user = session.query(User).filter(User.account=="evm").first()
result = Device(imei=msg.get("imei"), name="watch_{}".format(msg.get("imei")), type="watch", create_by=user.id, update_by=user.id)
session.add(result)
session.flush()
session.commit()
result = session.query(Device).filter_by(imei=msg.get("imei")).first()
if result:
watch_id = result.id
if user:
result = Device(imei=msg.get("imei"), name="watch_{}".format(msg.get("imei")), type="watch", create_by=user.id, update_by=user.id)
session.add(result)
session.flush()
session.commit()
result = session.query(Device).filter_by(imei=msg.get("imei")).first()
if result:
watch_id = result.id
if msg.get("request"):
msg.get("request").update({ "watch": watch_id })
......
'''
Author: your name
Date: 2021-06-29 19:33:41
LastEditTime: 2021-07-21 11:12:31
LastEditTime: 2021-07-21 11:51:55
LastEditors: Please set LastEditors
Description: In User Settings Edit
FilePath: \evm-store\backend\view\monitor.py
......@@ -243,16 +243,20 @@ class MainHandler(BaseHandler):
if not self.request.body:
return None
data = tornado.escape.json_decode(self.request.body)
try:
data = tornado.escape.json_decode(self.request.body)
logger.info(data)
logger.info(data)
self.write(json.dumps({ 'code': 100, 'data': data, 'msg': 'success' }))
self.write(json.dumps({ 'code': 100, 'data': data, 'msg': 'success' }))
message = {'imei': '12345678900005', 'type': 'report', 'system': {'free_size': 0}, 'lvgl': {'total_size': 5242880, 'free_cnt': 31, 'free_size': 1279664, 'free_biggest_size': 1205448, 'used_cnt': 832, 'used_pct': 76, 'frag_pct': 6}, 'evm': {'total_size': 2097152, 'free_size': 0, 'gc_usage': 50}, 'image': [{'uri': 'evue_launcher', 'length': 1043, 'png_total_count': 0, 'png_uncompressed_size': 0, 'png_file_size': 0}, {'uri': 'kdgs_1_storyList', 'length': 9608, 'png_total_count': 193, 'png_uncompressed_size': 370884, 'png_file_size': 209807}]}
insert_data(message)
# 这里不能使用广播,得点对点发送,有此设备的账号才能看到调试信息
NotifyHandler.broadcastMessage(message)
message = {'imei': '12345678900005', 'type': 'report', 'system': {'free_size': 0}, 'lvgl': {'total_size': 5242880, 'free_cnt': 31, 'free_size': 1279664, 'free_biggest_size': 1205448, 'used_cnt': 832, 'used_pct': 76, 'frag_pct': 6}, 'evm': {'total_size': 2097152, 'free_size': 0, 'gc_usage': 50}, 'image': [{'uri': 'evue_launcher', 'length': 1043, 'png_total_count': 0, 'png_uncompressed_size': 0, 'png_file_size': 0}, {'uri': 'kdgs_1_storyList', 'length': 9608, 'png_total_count': 193, 'png_uncompressed_size': 370884, 'png_file_size': 209807}]}
insert_data(message)
# 这里不能使用广播,得点对点发送,有此设备的账号才能看到调试信息
NotifyHandler.broadcastMessage(message)
except Exception as e:
logger.error(e)
traceback.print_exc()
class WatchHandler(BaseHandler):
def get(self, *args, **kwargs):
......@@ -311,20 +315,30 @@ class DeviceMessageHandler(BaseHandler):
self.write(json.dumps({ 'code': 500, 'data': None, 'msg': 'server error' }))
def post(self):
data = tornado.escape.json_decode(self.request.body)
if not self.request.body:
logger.info(self.request.body)
return None
try:
data = tornado.escape.json_decode(self.request.body)
logger.info(data)
data.update({ 'request': {
'host': self.request.remote_ip,
'path': self.request.path,
'protocol': self.request.protocol
} })
data.update({ 'request': {
'host': self.request.remote_ip,
'path': self.request.path,
'protocol': self.request.protocol
} })
insert_data(data)
insert_data(data)
data['type'] = 'report'
data['request'].update({ 'timestamp': datetime.now().strftime("%Y-%m-%d %H:%M:%S") })
NotifyHandler.broadcastMessage(data)
self.write(json.dumps({ 'code': 100, 'message': 'success' }))
data['type'] = 'report'
data['request'].update({ 'timestamp': datetime.now().strftime("%Y-%m-%d %H:%M:%S") })
NotifyHandler.broadcastMessage(data)
self.write(json.dumps({ 'code': 100, 'message': 'success' }))
except Exception as e:
logger.error(e)
traceback.print_exc()
def make_app():
return tornado.web.Application([
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment