Ver Fonte

去掉锁表限制

locky há 1 ano atrás
pai
commit
7176cdb047
1 ficheiros alterados com 21 adições e 26 exclusões
  1. 21 26
      Service/DevicePushService.py

+ 21 - 26
Service/DevicePushService.py

@@ -245,32 +245,27 @@ class DevicePushService:
                 end = 0
                 equipment_info_len = redis_obj.llen(equipment_info_key)
 
-                limit_key = equipment_info_key + 'save_push_data_limit'
-                set_success = redis_obj.CONN.setnx(limit_key, 1)
-                redis_obj.CONN.expire(limit_key, 60)
-                if set_success:
-                    if CONFIG_INFO == CONFIG_US:
-                        # 美洲服批量保存300条数据
-                        if equipment_info_len >= 500:
-                            end = 499
-                    else:
-                        # 缓存数据多于100条,批量保存前100条,否则保存全部
-                        equipment_info_len = redis_obj.llen(equipment_info_key)
-                        end = 99 if equipment_info_len > 100 else equipment_info_len - 1
-
-                    if end != 0:
-                        equipment_info_redis_list = redis_obj.lrange(equipment_info_key, 0, end)
-                        redis_obj.ltrim(equipment_info_key, end+1, -1)
-                        redis_obj.del_data(limit_key)
-
-                        for equipment_info in equipment_info_redis_list:
-                            equipment_info_data = eval(equipment_info)
-                            # 设备昵称存在表情,解码utf-8
-                            if equipment_info_data.get('device_nick_name') is not None:
-                                equipment_info_data['device_nick_name'] = equipment_info_data['device_nick_name'].\
-                                    encode('UTF-8', 'ignore').decode('UTF-8')
-                            equipment_info_list.append(equipment_info_model(**equipment_info_data))
-                        equipment_info_model.objects.bulk_create(equipment_info_list)
+                if CONFIG_INFO == CONFIG_US:
+                    # 美洲服批量保存300条数据
+                    if equipment_info_len >= 500:
+                        end = 499
+                else:
+                    # 缓存数据多于100条,批量保存前100条,否则保存全部
+                    equipment_info_len = redis_obj.llen(equipment_info_key)
+                    end = 99 if equipment_info_len > 100 else equipment_info_len - 1
+
+                if end != 0:
+                    equipment_info_redis_list = redis_obj.lrange(equipment_info_key, 0, end)
+                    redis_obj.ltrim(equipment_info_key, end+1, -1)
+
+                    for equipment_info in equipment_info_redis_list:
+                        equipment_info_data = eval(equipment_info)
+                        # 设备昵称存在表情,解码utf-8
+                        if equipment_info_data.get('device_nick_name') is not None:
+                            equipment_info_data['device_nick_name'] = equipment_info_data['device_nick_name'].\
+                                encode('UTF-8', 'ignore').decode('UTF-8')
+                        equipment_info_list.append(equipment_info_model(**equipment_info_data))
+                    equipment_info_model.objects.bulk_create(equipment_info_list)
 
             return True
         except Exception as e: