浏览代码

增加日志时间

lang 3 年之前
父节点
当前提交
6f36a6dbd7
共有 2 个文件被更改,包括 32 次插入2 次删除
  1. 14 2
      Controller/AiController.py
  2. 18 0
      Model/models.py

+ 14 - 2
Controller/AiController.py

@@ -46,7 +46,7 @@ from Controller.CheckUserData import DataValid
 from Model.models import Device_Info, Order_Model, Store_Meal, VodHlsModel, OssCrdModel, UID_Bucket, StsCrdModel, \
     ExperienceContextModel, Pay_Type, CDKcontextModel, Device_User, SysMassModel, SysMsgModel, UidPushModel, \
     Unused_Uid_Meal, UIDMainUser, UserModel, PromotionRuleModel, VideoPlaybackTimeModel, CloudLogModel, CouponModel, \
-    AiStoreMeal, AiService, UidSetModel, Ai_Push_Info, iotdeviceInfoModel
+    AiStoreMeal, AiService, UidSetModel, Ai_Push_Info, iotdeviceInfoModel, AiProcessTime
 from Object.AWS.S3Email import S3Email
 from Object.AliPayObject import AliPayObject
 from Object.AliSmsObject import AliSmsObject
@@ -353,7 +353,6 @@ class AiView(View):
         else:
             return response.json(0)
 
-
     def do_querylist(self, userID, request_dict, response):
         page = request_dict.get('page', None)
         line = request_dict.get('line', None)
@@ -530,6 +529,7 @@ class AiView(View):
             maxLabels = 50
             minConfidence = 96
 
+            ai_start_time = int(time.time())
             client = boto3.client(
                 'rekognition',
                 aws_access_key_id='AKIA2E67UIMD6JD6TN3J',
@@ -542,6 +542,7 @@ class AiView(View):
                 MinConfidence=minConfidence)
             if rekognition_res['ResponseMetadata']['HTTPStatusCode'] != 200:
                 return response.json(173)
+            ai_end_time = int(time.time())
             labels =rekognition_res['Labels']
             label_name = []
             logger.info('--------识别到的标签-------')
@@ -581,6 +582,8 @@ class AiView(View):
 
             eq_list = []
             userID_ids = []
+            jpush_start_time = 0
+            jpush_end_time = 0
             for up in uid_push_list:
                 push_type = up['push_type']
                 appBundleId = up['appBundleId']
@@ -607,13 +610,17 @@ class AiView(View):
                 # 推送消息
                 if push_type == 0:  # ios apns
                     logger.info('into-------apns')
+                    apns_start_time = int(time.time())
                     res = self.do_apns(**kwargs)
+                    apns_end_time = int(time.time())
                     logger.info(res)
                 # elif push_type == 1:  # android gcm
                 #     self.do_fcm(**kwargs)
                 elif push_type == 2:  # android jpush
                     logger.info('into-------jpush')
+                    jpush_start_time = int(time.time())
                     res = self.do_jpush(**kwargs)
+                    jpush_end_time = int(time.time())
                     logger.info(res)
 
                 # 以下是存库
@@ -637,12 +644,17 @@ class AiView(View):
             Ai_Push_Info.objects.bulk_create(eq_list)
 
             #上传缩略图到s3
+            cover_start_time = int(time.time())
             upload_cover_path = "{uid}/{channel}/cover{n_time}.jpg".format(uid=uid, channel=channel, n_time=n_time)  #封面图
             upload_desc_path = "{uid}/{channel}/desc{n_time}.jpg".format(uid=uid, channel=channel, n_time=n_time)   #详情内容图
             c_res = self.upload_s3(cover, upload_cover_path)
             d_res = self.upload_s3(desc, upload_desc_path)
             if c_res and d_res:
                 logger.info('upload-----S3----success')
+                count_time = int(time.time()) - receiveTime
+                AiProcessTime.objects.create(detectTime=n_time, receiveTime=receiveTime, aiTime=ai_start_time,
+                                             aiEndTime=ai_end_time, pushTime=jpush_start_time,
+                                             pushEndTime=jpush_end_time, serverCountTime=count_time)
                 return JsonResponse(status=200, data='success', safe=False)
             return JsonResponse(status=500, data='fail', safe=False)
 

+ 18 - 0
Model/models.py

@@ -1928,6 +1928,24 @@ class AiService(models.Model):
     detect_interval = models.IntegerField(verbose_name='推送间隔', default=60)  # 秒
 
 
+    class Meta:
+        db_table = 'ai_service'
+        verbose_name = 'ai设备服务表'
+        verbose_name_plural = verbose_name
+        ordering = ('id',)
+
+class AiProcessTime(models.Model):
+    id = models.AutoField(primary_key=True, verbose_name=u'自增标记ID')
+    msg_id = models.IntegerField(verbose_name='添加时间', default=0)
+    detectTime  = models.BigIntegerField(verbose_name='设备侦测时间', db_index=True, default=0)
+    receiveTime  = models.BigIntegerField(verbose_name='接口调用时间', db_index=True, default=0)
+    aiTime = models.BigIntegerField(verbose_name='ai识别上传开始时间', db_index=True, default=0)
+    aiEndTime = models.BigIntegerField(verbose_name='ai识别结束时间', db_index=True, default=0)
+    pushTime  = models.BigIntegerField(verbose_name='推送开始时间', db_index=True, default=0)
+    pushEndTime  = models.BigIntegerField(verbose_name='推送结束时间', db_index=True, default=0)
+    serverCountTime  = models.BigIntegerField(verbose_name='服务器总花时间', db_index=True, default=0)
+    appPushTime = models.IntegerField(verbose_name='添加时间', default=0)
+
     class Meta:
         db_table = 'ai_service'
         verbose_name = 'ai设备服务表'