瀏覽代碼

查询feedback数据到feedback_history 保留最近2周的数据

李莎 1 年之前
父節點
當前提交
82d92ec140
共有 2 個文件被更改,包括 13 次插入5 次删除
  1. 1 2
      MyUtils/MysqlUtils.py
  2. 12 3
      start.py

+ 1 - 2
MyUtils/MysqlUtils.py

@@ -66,7 +66,7 @@ class MysqlUtils():
             if con:
                 con.close()
 
-    def update_mult(self,sql1,sql2,sql3):
+    def update_mult(self,sql1,sql2):
         con = None
         cur = None
         try:
@@ -74,7 +74,6 @@ class MysqlUtils():
             cur = con.cursor()
             cur.execute(sql1)
             cur.execute(sql2)
-            cur.execute(sql3)
             con.commit()
             result = True
         except Exception as e:

+ 12 - 3
start.py

@@ -55,6 +55,7 @@ INSERT_DADA_SQL = "INSERT INTO %s.feedback_history (" \
                      "custom_plan,curr_temp,nick_name, `result`,exe_result,fb_temp,`remark`,duplicate_data) values "
 
 DELETE_DUPLICATE_SQL = "delete from %s.feedback where id ='%s'"
+DELETE_SQL = "delete from %s.feedback where create_time >= '%s' and create_time < '%s'"
 DELETE_DUPLICATE_MULT_SQL = "delete from %s.feedback where id in (select * from (SELECT id FROM %s.feedback t WHERE t.create_time >= '%s' AND t.create_time < '%s' GROUP BY t.project_id,t.object_id,t.source_type,t.user_id,t.user_phone,t.user_name,t.`value`,t.item_id,t.create_time HAVING  COUNT(*) = 1) s)"
 
 def datetime_now():
@@ -100,9 +101,9 @@ def data_sql(SQL,tag):
                     sql1 = INSERT_ID_DATA_SQL % (my_database, my_database, data_id[0])
                     # #打标签”Y,N“
                     sql2 = UPDATE_ID_SQL % (my_database, tag, data_id[0])
-                    # 删除feedback数据
-                    sql3 = DELETE_DUPLICATE_SQL % (my_database, data_id[0])
-                    result = MysqlUtil.update_mult(sql1, sql2, sql3)
+                    # # 删除feedback数据
+                    # sql3 = DELETE_DUPLICATE_SQL % (my_database, data_id[0])
+                    result = MysqlUtil.update_mult(sql1, sql2)
                     if result == True:
                         duplicate_data_sum.append(data_id[0])
                 if tag == "Y" and result == True:
@@ -150,6 +151,10 @@ while True:
         yesterday = (datetime.datetime.fromtimestamp(int(time.time()),
                                         pytz.timezone('Asia/Shanghai')) - datetime.timedelta(days=1)).strftime("%Y%m%d" )  +"000000"
 
+        first_14day = (datetime.datetime.fromtimestamp(int(time.time()),
+                                        pytz.timezone('Asia/Shanghai')) - datetime.timedelta(days=14)).strftime("%Y%m%d" )  +"000000"
+        first_15day = (datetime.datetime.fromtimestamp(int(time.time()),
+                                        pytz.timezone('Asia/Shanghai')) - datetime.timedelta(days=15)).strftime("%Y%m%d" )  +"000000"
 
         day_range = get_day(yesterday,today)
 
@@ -168,6 +173,10 @@ while True:
                 # message = ("【feedback表打唯一数据标签】 %s 时间段%s至%s,处理数据%s条,成功 \n") % (datetime_now(),create_time_start,create_time_end,feedback_sum)
                 # send_message_mobiles(message,dingding,at_mobiles)
 
+                #删除14天之前的数据,保留最新2周的数据
+                del_sql = DELETE_SQL % (my_database,first_15day,first_14day)
+                MysqlUtil.update(del_sql)
+
             else:
                 print("%s 时间段%s至%s,查询数据%s条,插入数据%s条,失败!"%(datetime_now(),create_time_start,create_time_end,feedback_sum,len(duplicate_data_sum)))
                 message = ("【feedback表打唯一数据标签】 %s 时间段%s至%s,查询数据%s条,插入数据%s条,失败 \n")%(datetime_now(),create_time_start,create_time_end,feedback_sum,len(duplicate_data_sum))