|
@@ -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)})
|