Commit 755bb7fc authored by wanli's avatar wanli

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

parent fe8e719b
''' '''
Author: your name Author: your name
Date: 2021-06-29 19:24:32 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 LastEditors: Please set LastEditors
Description: In User Settings Edit Description: In User Settings Edit
FilePath: \evm-store\backend\controller\monitor.py FilePath: \evm-store\backend\controller\monitor.py
...@@ -118,14 +118,15 @@ def insert_data(msg): ...@@ -118,14 +118,15 @@ def insert_data(msg):
watch_id = result.id watch_id = result.id
else: else:
user = session.query(User).filter(User.account=="evm").first() 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) if user:
session.add(result) result = Device(imei=msg.get("imei"), name="watch_{}".format(msg.get("imei")), type="watch", create_by=user.id, update_by=user.id)
session.flush() session.add(result)
session.commit() session.flush()
session.commit()
result = session.query(Device).filter_by(imei=msg.get("imei")).first()
if result: result = session.query(Device).filter_by(imei=msg.get("imei")).first()
watch_id = result.id if result:
watch_id = result.id
if msg.get("request"): if msg.get("request"):
msg.get("request").update({ "watch": watch_id }) msg.get("request").update({ "watch": watch_id })
......
''' '''
Author: your name Author: your name
Date: 2021-06-29 19:33:41 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 LastEditors: Please set LastEditors
Description: In User Settings Edit Description: In User Settings Edit
FilePath: \evm-store\backend\view\monitor.py FilePath: \evm-store\backend\view\monitor.py
...@@ -243,16 +243,20 @@ class MainHandler(BaseHandler): ...@@ -243,16 +243,20 @@ class MainHandler(BaseHandler):
if not self.request.body: if not self.request.body:
return None 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}]} 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) insert_data(message)
# 这里不能使用广播,得点对点发送,有此设备的账号才能看到调试信息 # 这里不能使用广播,得点对点发送,有此设备的账号才能看到调试信息
NotifyHandler.broadcastMessage(message) NotifyHandler.broadcastMessage(message)
except Exception as e:
logger.error(e)
traceback.print_exc()
class WatchHandler(BaseHandler): class WatchHandler(BaseHandler):
def get(self, *args, **kwargs): def get(self, *args, **kwargs):
...@@ -311,20 +315,30 @@ class DeviceMessageHandler(BaseHandler): ...@@ -311,20 +315,30 @@ class DeviceMessageHandler(BaseHandler):
self.write(json.dumps({ 'code': 500, 'data': None, 'msg': 'server error' })) self.write(json.dumps({ 'code': 500, 'data': None, 'msg': 'server error' }))
def post(self): 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': { data.update({ 'request': {
'host': self.request.remote_ip, 'host': self.request.remote_ip,
'path': self.request.path, 'path': self.request.path,
'protocol': self.request.protocol 'protocol': self.request.protocol
} }) } })
insert_data(data) insert_data(data)
data['type'] = 'report' data['type'] = 'report'
data['request'].update({ 'timestamp': datetime.now().strftime("%Y-%m-%d %H:%M:%S") }) data['request'].update({ 'timestamp': datetime.now().strftime("%Y-%m-%d %H:%M:%S") })
NotifyHandler.broadcastMessage(data) NotifyHandler.broadcastMessage(data)
self.write(json.dumps({ 'code': 100, 'message': 'success' })) self.write(json.dumps({ 'code': 100, 'message': 'success' }))
except Exception as e:
logger.error(e)
traceback.print_exc()
def make_app(): def make_app():
return tornado.web.Application([ 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