|
@@ -125,10 +125,10 @@ class DevicePushService:
|
|
|
return qs_list
|
|
|
|
|
|
@staticmethod
|
|
|
- def cache_push_detect_interval(redis_obj_pipe, name, detect_interval, new_detect_interval):
|
|
|
+ def cache_push_detect_interval(redis_obj, name, detect_interval, new_detect_interval):
|
|
|
"""
|
|
|
缓存设置推送消息的时间间隔
|
|
|
- @param redis_obj_pipe: redis pipeline
|
|
|
+ @param redis_obj: redis对象
|
|
|
@param name: redis key
|
|
|
@param detect_interval: 原推送时间间隔
|
|
|
@param new_detect_interval: 新推送时间间隔
|
|
@@ -138,7 +138,7 @@ class DevicePushService:
|
|
|
detect_interval = 60 if detect_interval < 60 else detect_interval
|
|
|
else: # 国内推送兼容问题,有值并且大于旧消息间隔则使用new_detect_interval
|
|
|
detect_interval = new_detect_interval if new_detect_interval > detect_interval else detect_interval
|
|
|
- redis_obj_pipe.set(name, 1, detect_interval - 5)
|
|
|
+ redis_obj.set_data(key=name, val=1, expire=detect_interval - 5)
|
|
|
|
|
|
@classmethod
|
|
|
def save_msg_push(cls, **params):
|
|
@@ -152,8 +152,7 @@ class DevicePushService:
|
|
|
uid = params['uid']
|
|
|
push_kwargs = params['push_kwargs']
|
|
|
now_time = int(time.time())
|
|
|
- redis_r_obj = RedisObject(mode='r')
|
|
|
- redis_obj_pipe = RedisObject().pipe
|
|
|
+ redis_obj = RedisObject()
|
|
|
try:
|
|
|
params['event_tag'] = cls.get_event_tag(params['ai_type'], params['event_type'], params['detection'])
|
|
|
is_app_push = True if params['event_type'] in [606, 607] else \
|
|
@@ -201,7 +200,7 @@ class DevicePushService:
|
|
|
}
|
|
|
# 保存到redis列表
|
|
|
equipment_info_value = json.dumps(equipment_info_kwargs)
|
|
|
- redis_obj_pipe.rpush(equipment_info_key, equipment_info_value)
|
|
|
+ redis_obj.rpush(equipment_info_key, equipment_info_value)
|
|
|
saved_user_id_list.append(user_id)
|
|
|
|
|
|
# 推送
|
|
@@ -250,12 +249,12 @@ class DevicePushService:
|
|
|
if params['event_type'] in [606, 607] or CONFIG_INFO != CONFIG_US:
|
|
|
end = 0
|
|
|
# 缓存数据多于100条,批量保存前100条,否则保存全部
|
|
|
- equipment_info_len = redis_r_obj.llen(equipment_info_key)
|
|
|
+ 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_r_obj.lrange(equipment_info_key, 0, end)
|
|
|
- redis_obj_pipe.ltrim(equipment_info_key, end+1, -1)
|
|
|
+ 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)
|
|
@@ -266,8 +265,6 @@ class DevicePushService:
|
|
|
equipment_info_list.append(equipment_info_model(**equipment_info_data))
|
|
|
equipment_info_model.objects.bulk_create(equipment_info_list)
|
|
|
|
|
|
- redis_obj_pipe.execute()
|
|
|
-
|
|
|
return True
|
|
|
except Exception as e:
|
|
|
LOGGING.info('推送消息或存表异常: error_line:{}, error_msg:{}'.format(e.__traceback__.tb_lineno, repr(e)))
|