Browse Source

设备影子更新直接返回200

locky 3 năm trước cách đây
mục cha
commit
e3ecc063dd
2 tập tin đã thay đổi với 15 bổ sung8 xóa
  1. 1 0
      .gitignore
  2. 14 8
      Controller/ShadowController.py

+ 1 - 0
.gitignore

@@ -1,5 +1,6 @@
 /.idea
 /static
+/AnsjerPush/file/
 /Model/migrations
 /Ansjer/__pycache__
 /Controller/__pycache__

+ 14 - 8
Controller/ShadowController.py

@@ -17,11 +17,11 @@
 # shadow.dvema.com
 # 设备影子更新
 import logging
+import threading
 import time
-
+from ratelimit.decorators import ratelimit
 import requests
 from django.http import JsonResponse
-from ratelimit.decorators import ratelimit
 
 from AnsjerPush.config import SERVER_TYPE
 from Model.models import Device_Info, UidSetModel, UID_Preview, VoicePromptModel, UID_Bucket, UidChannelSetModel, \
@@ -58,22 +58,30 @@ def generate_utk(request):
 
 
 # 设备影子更新
-@ratelimit(key='ip', rate='1/10m', block=True)
 def update_device_shadow(request):
     request.encoding = 'utf-8'
+    response = ResponseObject()
     if request.method == 'POST':
         request_dict = request.POST
     elif request.method == 'GET':
         request_dict = request.GET
     else:
-        return JsonResponse(status=200, data={'code': 0, 'msg': 'success', 'data': {}})
+        return response.json(444)
     logger = logging.getLogger('info')
     try:
+        return JsonResponse(status=200, data={'code': 0, 'msg': 'success', 'data': {}})
+    except Exception as e:
+        logger.info('更新设备影子异常: {}'.format(repr(e)))
+        return JsonResponse(status=200, data={'code': 0, 'update_shadow_error': repr(e)})
+
+def async_device_shadow(request_dict, request):
+    try:
+        logger = logging.getLogger('info')
         etk = request_dict.get('etk', None)
         eto = ETkObject(etk)
         uid = eto.uid
         if not uid:
-            return JsonResponse(status=200, data={'code': 0, 'msg': 'success', 'data': {}})
+            return False
         logger.info('使用配置: {}'.format(SERVER_TYPE))
         logger.info('data: {}'.format(request_dict.dict()))
 
@@ -188,8 +196,6 @@ def update_device_shadow(request):
             qs_dict['addTime'] = nowTime
             UidSetModel.objects.create(**qs_dict)
         logger.info('***设备影子保存成功{}'.format(uid))
-        return JsonResponse(status=200, data={'code': 0, 'msg': 'success', 'data': {}})
     except Exception as e:
+        print(repr(e))
         print('异步保存设备影子信息报错,errLine:{}, errMsg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
-        logger.info('更新设备影子异常: {}'.format(repr(e)))
-        return JsonResponse(status=200, data={'code': 0, 'update_shadow_error': repr(e)})