zhangyong 3 månader sedan
förälder
incheckning
f22a6aaa34
4 ändrade filer med 19 tillägg och 10 borttagningar
  1. 15 7
      job_top_data.py
  2. 1 0
      job_top_day_redis.py
  3. 1 1
      job_top_hour_data_redis.py
  4. 2 2
      top_automatic/top_data_processing.py

+ 15 - 7
job_top_data.py

@@ -14,7 +14,7 @@ from top_automatic.top_data_processing import Top
 
 
 def get_data_task():
-    top_tasks = set()  # 使用集合去重
+    top_tasks = []  # 使用集合去重
     for i in range(100):
         top_task = get_top_data("task:top_all_data")
         if top_task:
@@ -22,6 +22,11 @@ def get_data_task():
             data = json.loads(top_task)
             channel_id = data['channel']
             if channel_id not in ["抖音关键词抓取", "快手关键词抓取", "搬运改造", "搬运工具"]:
+                if channel_id:
+                    AliyunLogger.logging(channel_id, data, "不处理","fail")
+                else:
+                    AliyunLogger.logging("空", data, "不处理","fail")
+
                 current_time = datetime.now()
                 formatted_time = current_time.strftime("%Y-%m-%d %H:%M:%S")
                 values = [
@@ -45,17 +50,20 @@ def get_data_task():
                 Feishu.update_values("KUIksoqZkhvZOrtqA1McPwObn7d", "57c076", "A2:Z2", values)
                 logger.info(f"[+] 成功写入飞书表格")
                 logger.info(f"[+] 改内容为:{channel_id},不做处理")
-                if channel_id:
-                    AliyunLogger.logging(channel_id, data, "不处理","fail")
                 continue
-            top_tasks.add(top_task)
-        else:
-            return list(top_tasks)
+            else:
+                AliyunLogger.logging(channel_id, data, "等待处理", "success")
+
+                top_tasks.append(top_task)
+    return top_tasks
 
 def video_task_start():
     logger.info(f"[+] 任务开始获取小时级top数据")
     data_list = get_data_task()
-    logger.info(f"[+] 共获取{len(data_list)}条")
+    if data_list:
+        logger.info(f"[+] 共获取{len(data_list)}条")
+    else:
+        logger.info(f"[+] 共获取0条")
     if not data_list:
         return
     for data in data_list:

+ 1 - 0
job_top_day_redis.py

@@ -32,6 +32,7 @@ def jab_day_recommend():
                         channel = data.get("channel", "")
                         result.append(channel_account_id)
                     result_string = ",".join(result)
+                    result_string = ",".join(dict.fromkeys(result_string.split(",")))
                     values = [
                         [
                             "",

+ 1 - 1
job_top_hour_data_redis.py

@@ -18,7 +18,7 @@ def jab_top_recommend():
         logger.error(f"获取每日每小时top前100数据异常,异常信息{e}")
         return
 def schedule_tasks():
-    schedule.every().hour.at(":35").do(jab_top_recommend)
+    schedule.every().hour.at(":40").do(jab_top_recommend)
 
 if __name__ == "__main__":
     # jab_top_recommend()

+ 2 - 2
top_automatic/top_data_processing.py

@@ -143,9 +143,9 @@ class Top:
             tag_transport_channel = "快手"
             logger.info(f"[+] {url_id}开始获取快手视频链接")
             channel_account_id= self.get_text_ks_video(url=url_id)
-        if not channel_account_id:
+        if not channel_account_id or channel_account_id == "作品不存在":
             in_job_video_data("task:top_all_data", json.dumps(data, ensure_ascii=False, indent=4))
-            AliyunLogger.logging(data['channel'], data, "没有获取到视频用户ID,等待重新获取","fail")
+            AliyunLogger.logging(data['channel'], data, f"没有获取到视频用户ID,等待重新获取/{channel_account_id}","fail")
             return
         status = sqlCollect.select_pj_video_data(channel_account_id)
         if status: