Bläddra i källkod

请求更新序列号状态增加重置地区id

locky 2 år sedan
förälder
incheckning
e3f2b19eef
1 ändrade filer med 36 tillägg och 1 borttagningar
  1. 36 1
      Controller/Cron/CronTaskController.py

+ 36 - 1
Controller/Cron/CronTaskController.py

@@ -16,7 +16,8 @@ from django.db import connection, connections, transaction
 from django.db.models import Q, Sum, Count
 from django.views import View
 
-from Ansjer.config import USED_SERIAL_REDIS_LIST, UNUSED_SERIAL_REDIS_LIST, CONFIG_INFO, CONFIG_US
+from Ansjer.config import USED_SERIAL_REDIS_LIST, UNUSED_SERIAL_REDIS_LIST, CONFIG_INFO, CONFIG_US, \
+    RESET_REGION_ID_SERIAL_REDIS_LIST
 from Model.models import Device_User, Device_Info, UidSetModel, UID_Bucket, Unused_Uid_Meal, Order_Model, StsCrdModel, \
     VodHlsModel, ExperienceContextModel, AiService, VodHlsSummary, VideoPlaybackTimeModel, DeviceUserSummary, \
     CountryModel, DeviceTypeModel, OrdersSummary, DeviceInfoSummary, CompanySerialModel, \
@@ -327,18 +328,27 @@ class CronUpdateDataView(View):
     def reqUpdateSerialStatus(cls, response):
         redis_obj = RedisObject()
         logger = logging.getLogger('info')
+
         # 更新已使用序列号其他服务器的状态
         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 = 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)
+
+        # 重置地区id
+        reset_region_id_serial_redis_list = redis_obj.lrange(RESET_REGION_ID_SERIAL_REDIS_LIST, 0, -1)  # 读取redis未使用序列号
+        logger.info('---请求重置地区id的序列号列表---:{}'.format(reset_region_id_serial_redis_list))
+        if reset_region_id_serial_redis_list:
+            reset_region_id_serial_redis_list = [str(i, 'utf-8') for i in reset_region_id_serial_redis_list]
+            cls.do_request_reset_region_id(reset_region_id_serial_redis_list)
         return response.json(0)
 
     @staticmethod
@@ -395,6 +405,31 @@ class CronUpdateDataView(View):
         except Exception as e:
             logger.info('---更新序列号状态异常---:{}'.format(repr(e)))
 
+    @staticmethod
+    def do_request_reset_region_id(reset_region_id_serial_redis_list):
+        """
+        请求重置地区id
+        @param reset_region_id_serial_redis_list: 序列号redis列表
+        """
+        redis_obj = RedisObject()
+        logger = logging.getLogger('info')
+        requests_failed_flag = False  # 请求失败标志位
+        data = {
+            'serial_redis_list': str(reset_region_id_serial_redis_list),
+        }
+        url = 'https://www.dvema.com/cron/update/reset-region-id'
+
+        try:
+            response = requests.post(url=url, data=data, timeout=5)
+            result = response.json()
+            if result['result_code'] != 0:  # 请求失败标志位置位
+                requests_failed_flag = True
+            if not requests_failed_flag:  # 请求成功删除redis序列号
+                for serial in reset_region_id_serial_redis_list:
+                    redis_obj.lrem(RESET_REGION_ID_SERIAL_REDIS_LIST, 0, serial)
+        except Exception as e:
+            logger.info('---请求重置地区id异常---:{}'.format(repr(e)))
+
     @staticmethod
     def updateSerialStatus(request_dict, response):
         """