|
@@ -4,13 +4,12 @@
|
|
|
"""
|
|
|
import json
|
|
|
import time
|
|
|
-from concurrent.futures.thread import ThreadPoolExecutor
|
|
|
|
|
|
import requests
|
|
|
import schedule
|
|
|
from tqdm import tqdm
|
|
|
|
|
|
-from applications import PQMySQL, Functions
|
|
|
+from applications import PQMySQL, Functions, log
|
|
|
from applications.decoratorApi import retryOnTimeout
|
|
|
|
|
|
|
|
@@ -66,6 +65,11 @@ class AutoGetOffVideos(object):
|
|
|
WHERE video_status = 1 and publish_time < {time_stamp};
|
|
|
"""
|
|
|
result = cls.pqMysql.select(sql=select_sql)
|
|
|
+ log(
|
|
|
+ task="getOffVideosDaily",
|
|
|
+ function="getLongArticlesVideos",
|
|
|
+ message="查找到视频 id_list,一共{}条视频".format(len(result))
|
|
|
+ )
|
|
|
return result
|
|
|
|
|
|
@classmethod
|
|
@@ -81,11 +85,24 @@ class AutoGetOffVideos(object):
|
|
|
SET video_status = 0, get_off_time = {time_stamp}
|
|
|
WHERE video_id = %s;
|
|
|
"""
|
|
|
- cls.pqMysql.update(
|
|
|
- sql=select_sql,
|
|
|
- params=video_id
|
|
|
- )
|
|
|
- print("更新成功")
|
|
|
+ try:
|
|
|
+ cls.pqMysql.update(
|
|
|
+ sql=select_sql,
|
|
|
+ params=video_id
|
|
|
+ )
|
|
|
+ log(
|
|
|
+ task="getOffVideosDaily",
|
|
|
+ function="updateVideoIdStatus",
|
|
|
+ message="成功修改视频状态",
|
|
|
+ data={"video_id": video_id}
|
|
|
+ )
|
|
|
+ except Exception as e:
|
|
|
+ log(
|
|
|
+ task="getOffVideosDaily",
|
|
|
+ function="updateVideoIdStatus",
|
|
|
+ message="修改视频状态失败--- 推测 sql 问题,报错信息:{}".format(e),
|
|
|
+ status="fail"
|
|
|
+ )
|
|
|
|
|
|
@classmethod
|
|
|
def changeVideoIdStatus(cls, video_id):
|
|
@@ -115,12 +132,27 @@ class AutoGetOffVideos(object):
|
|
|
"POST",
|
|
|
url,
|
|
|
headers=headers,
|
|
|
- data=payload
|
|
|
+ data=payload,
|
|
|
+ timeout=10
|
|
|
)
|
|
|
if response.status_code == 200:
|
|
|
result = response.json()
|
|
|
if result.get("code", None) == 0:
|
|
|
cls.updateVideoIdStatus(video_id=video_id)
|
|
|
+ else:
|
|
|
+ log(
|
|
|
+ task="getOffVideosDaily",
|
|
|
+ function="changeVideoIdStatus",
|
|
|
+ message="请求票圈修改状态异常---video_id = {}".format(video_id),
|
|
|
+ data=result
|
|
|
+ )
|
|
|
+ else:
|
|
|
+ log(
|
|
|
+ task="getOffVideosDaily",
|
|
|
+ function="changeVideoIdStatus",
|
|
|
+ status="fail",
|
|
|
+ message="请求票圈修改状态异常,状态码非 200 ---video_id = {}".format(video_id),
|
|
|
+ )
|
|
|
|
|
|
@classmethod
|
|
|
def task1(cls):
|
|
@@ -133,9 +165,15 @@ class AutoGetOffVideos(object):
|
|
|
video_set = cls.getLongArticlesVideos(time_stamp=three_days_before)
|
|
|
vid_list = [i[0] for i in video_set]
|
|
|
for video_id in tqdm(vid_list):
|
|
|
- cls.changeVideoIdStatus(video_id=video_id)
|
|
|
- # with ThreadPoolExecutor(max_workers=8) as Pool1:
|
|
|
- # Pool1.map(cls.changeVideoIdStatus, vid_list)
|
|
|
+ try:
|
|
|
+ cls.changeVideoIdStatus(video_id=video_id)
|
|
|
+ except Exception as e:
|
|
|
+ log(
|
|
|
+ task="getOffVideosDaily",
|
|
|
+ function="task1",
|
|
|
+ status="fail",
|
|
|
+ message="task1下架单个视频失败,video_id={}, 报错信息={}".format(video_id, e),
|
|
|
+ )
|
|
|
|
|
|
@classmethod
|
|
|
def task2(cls):
|
|
@@ -153,7 +191,15 @@ class AutoGetOffVideos(object):
|
|
|
if vid_tuple:
|
|
|
vid_list = [i[0] for i in vid_tuple]
|
|
|
for vid in vid_list:
|
|
|
- cls.changeVideoIdStatus(video_id=vid)
|
|
|
+ try:
|
|
|
+ cls.changeVideoIdStatus(video_id=vid)
|
|
|
+ except Exception as e:
|
|
|
+ log(
|
|
|
+ task="getOffVideosDaily",
|
|
|
+ function="task2",
|
|
|
+ status="fail",
|
|
|
+ message="task2下架单个视频失败,video_id={}, 报错信息={}".format(vid, e),
|
|
|
+ )
|
|
|
time.sleep(10)
|
|
|
vid_tuple2 = cls.pqMysql.select(sql)
|
|
|
if vid_tuple2:
|