|
@@ -319,62 +319,57 @@ class CronUpdateDataView(View):
|
|
|
@classmethod
|
|
|
def reqUpdateSerialStatus(cls, response):
|
|
|
redis_obj = RedisObject()
|
|
|
+ logger = logging.getLogger('info')
|
|
|
# 更新已使用序列号其他服务器的状态
|
|
|
- used_serial_redis_list_len = redis_obj.llen(USED_SERIAL_REDIS_LIST)
|
|
|
- if used_serial_redis_list_len > 0:
|
|
|
- used_serial_redis_list = []
|
|
|
- for i in range(used_serial_redis_list_len):
|
|
|
- used_serial_redis_list.append(redis_obj.lpop(USED_SERIAL_REDIS_LIST))
|
|
|
- request_thread = threading.Thread(target=cls.do_request_thread, args=(str(used_serial_redis_list), 3))
|
|
|
- request_thread.start()
|
|
|
+ used_serial_redis_list = redis_obj.lrange(USED_SERIAL_REDIS_LIST, 0, -1) # 读取redis已使用序列号
|
|
|
+ logger.info('---请求更新序列号接口---used_serial_redis_list:{}---status:{}'.format(used_serial_redis_list, 3))
|
|
|
+ if used_serial_redis_list:
|
|
|
+ used_serial_redis_list = [str(i, 'utf-8') for i in used_serial_redis_list]
|
|
|
+ cls.do_request_function(used_serial_redis_list, 3)
|
|
|
# 更新未使用序列号其他服务器的状态
|
|
|
- unused_serial_redis_list_len = redis_obj.llen(UNUSED_SERIAL_REDIS_LIST)
|
|
|
- if unused_serial_redis_list_len > 0:
|
|
|
- unused_serial_redis_list = []
|
|
|
- for i in range(unused_serial_redis_list_len):
|
|
|
- unused_serial_redis_list.append(redis_obj.lpop(UNUSED_SERIAL_REDIS_LIST))
|
|
|
- request_thread = threading.Thread(target=cls.do_request_thread, args=(str(unused_serial_redis_list), 1))
|
|
|
- request_thread.start()
|
|
|
+ unused_serial_redis_list = redis_obj.lrange(UNUSED_SERIAL_REDIS_LIST, 0, -1) # 读取redis未使用序列号
|
|
|
+ logger.info('---请求更新序列号接口---unused_serial_redis_list:{}---status:{}'.format(unused_serial_redis_list, 1))
|
|
|
+ if unused_serial_redis_list:
|
|
|
+ unused_serial_redis_list = [str(i, 'utf-8') for i in unused_serial_redis_list]
|
|
|
+ cls.do_request_function(unused_serial_redis_list, 1)
|
|
|
return response.json(0)
|
|
|
|
|
|
@staticmethod
|
|
|
- def do_request_thread(serial_redis_list, status):
|
|
|
+ def do_request_function(serial_redis_list, status):
|
|
|
"""
|
|
|
请求更新序列号线程
|
|
|
@param serial_redis_list: 序列号redis列表
|
|
|
@param status: 状态, 1: 未使用, 3: 已占用
|
|
|
"""
|
|
|
data = {
|
|
|
- 'serial_redis_list': serial_redis_list,
|
|
|
+ 'serial_redis_list': str(serial_redis_list),
|
|
|
'status': status
|
|
|
}
|
|
|
- serial_redis_list = eval(serial_redis_list)
|
|
|
# 确认域名列表
|
|
|
orders_domain_name_list = CommonService.get_orders_domain_name_list()
|
|
|
redis_obj = RedisObject()
|
|
|
logger = logging.getLogger('info')
|
|
|
logger.info('---请求更新序列号线程---data:{},orders_domain_name_list:{}'.format(data, orders_domain_name_list))
|
|
|
try:
|
|
|
+ flag = 0 # 请求标志位
|
|
|
for domain_name in orders_domain_name_list:
|
|
|
url = '{}cron/update/updateSerialStatus'.format(domain_name)
|
|
|
- response = requests.post(url=url, data=data, timeout=2)
|
|
|
+ response = requests.post(url=url, data=data, timeout=5)
|
|
|
+ logger.info('---请求更新序列号响应时间---time:{}'.format(response.elapsed.total_seconds()))
|
|
|
result = response.json()
|
|
|
- if result['result_code'] != 0:
|
|
|
- if status == 1:
|
|
|
- for item in serial_redis_list:
|
|
|
- redis_obj.rpush(UNUSED_SERIAL_REDIS_LIST, item)
|
|
|
- elif status == 3:
|
|
|
- for item in serial_redis_list:
|
|
|
- redis_obj.rpush(USED_SERIAL_REDIS_LIST, item)
|
|
|
+ if result['result_code'] != 0: # 请求失败修改标志位
|
|
|
+ flag = 1
|
|
|
break
|
|
|
+ if flag == 0: # 请求成功删除redis序列号
|
|
|
+ if status == 1:
|
|
|
+ for i in serial_redis_list:
|
|
|
+ redis_obj.lrem(UNUSED_SERIAL_REDIS_LIST, 0, i)
|
|
|
+ elif status == 3:
|
|
|
+ for i in serial_redis_list:
|
|
|
+ redis_obj.lrem(USED_SERIAL_REDIS_LIST, 0, i)
|
|
|
except Exception as e:
|
|
|
logger.info('---更新序列号状态异常---:{}'.format(repr(e)))
|
|
|
- if status == 1:
|
|
|
- for item in serial_redis_list:
|
|
|
- redis_obj.rpush(UNUSED_SERIAL_REDIS_LIST, item)
|
|
|
- elif status == 3:
|
|
|
- for item in serial_redis_list:
|
|
|
- redis_obj.rpush(USED_SERIAL_REDIS_LIST, item)
|
|
|
+
|
|
|
|
|
|
@staticmethod
|
|
|
def updateSerialStatus(request_dict, response):
|