feat: 修改get_subsequent_report_video方法以支持传入mid参数,并重构主流程逻辑

This commit is contained in:
晓丰 2025-06-27 20:19:04 +08:00
parent 8a8b375538
commit e2245d86e1
2 changed files with 46 additions and 46 deletions

6
DB.py
View File

@ -354,7 +354,7 @@ class DBVidcon:
return self.cursor.fetchall() return self.cursor.fetchall()
@mysql_retry() @mysql_retry()
def get_subsequent_report_video(self): def get_subsequent_report_video(self,did: int):
sql = """ sql = """
SELECT SELECT
id, id,
@ -365,9 +365,9 @@ class DBVidcon:
status = 2 status = 2
AND subsequent_status = 1 AND subsequent_status = 1
AND report_time != '' AND report_time != ''
LIMIT 10 AND mid = %s
""" """
self.cursor.execute(sql) self.cursor.execute(sql,did)
return self.cursor.fetchall() return self.cursor.fetchall()
@mysql_retry() @mysql_retry()

View File

@ -73,46 +73,46 @@ last_subsequent_run = 0
MAIN_INTERVAL = 60 * 5 # 每 5 分钟执行一次 MAIN_INTERVAL = 60 * 5 # 每 5 分钟执行一次
SUBSEQUENT_INTERVAL = 60 * 60 # 每 60 分钟执行一次 SUBSEQUENT_INTERVAL = 60 * 60 # 每 60 分钟执行一次
d.test()
# while True: while True:
# now = int(time.time()) now = int(time.time())
#
# # 处理主流程 # 处理主流程
# if now - last_main_run >= MAIN_INTERVAL: if now - last_main_run >= MAIN_INTERVAL:
# last_main_run = now last_main_run = now
# lis = db.item_report() lis = db.item_report()
# if len(lis) > 0: if len(lis) > 0:
# for _, li in lis: for _, li in lis:
# print(li) print(li)
# logger.info(f"name:{li['name_title']},link:{li['link']} ") logger.info(f"name:{li['name_title']},link:{li['link']} ")
try:
info, report_id, status, report_ts = d.process_ticket(li['name_title'], li['link'])
subsequent_status = k.get(status, 1)
db.update_fight_record_status(
li['id'], report_id, 2, f"http://{ip}:5000/image/{info}",
report_ts, subsequent_status, MACHINE_ID
)
db.flush()
except Exception as e:
logger.logger.error(f"ID:{li['id']}, e:{e}")
db.update_fight_record_status(li['id'], 0, 3, str(e), mid=MACHINE_ID)
time.sleep(60) # 出错延迟
if now - last_subsequent_run >= SUBSEQUENT_INTERVAL and IsSubsequent:
last_subsequent_run = now
subsequent_list = db.get_subsequent_report_video(MACHINE_ID)
if len(subsequent_list) > 0:
for li in subsequent_list:
rs_id = li['id']
r_id = li['report_id']
logger.info(f"subsequent id:{rs_id},report_id:{r_id} ")
# try: # try:
# info, report_id, status, report_ts = d.process_ticket(li['name_title'], li['link']) subsequent_status, info = d.report_follow_up(r_id)
# subsequent_status = k.get(status, 1) db.update_subsequent_status_by_id(
# db.update_fight_record_status( rs_id, subsequent_status, f"http://{ip}:5000/image/{info}"
# li['id'], report_id, 2, f"http://{ip}:5000/image/{info}", )
# report_ts, subsequent_status, MACHINE_ID
# )
# db.flush()
# except Exception as e: # except Exception as e:
# logger.logger.error(f"ID:{li['id']}, e:{e}") # logger.logger.error(f"ID:{rs_id}, e:{e}")
# db.update_fight_record_status(li['id'], 0, 3, str(e), mid=MACHINE_ID) # db.update_subsequent_status_by_id(rs_id, 1, str(e))
# time.sleep(60) # 出错延迟 time.sleep(5) # 避免频繁请求
# time.sleep(5)
# if now - last_subsequent_run >= SUBSEQUENT_INTERVAL and IsSubsequent:
# last_subsequent_run = now
# subsequent_list = db.get_subsequent_report_video()
# if len(subsequent_list) > 0:
# for li in subsequent_list:
# rs_id = li['id']
# r_id = li['report_id']
# logger.info(f"subsequent id:{rs_id},report_id:{r_id} ")
# # try:
# subsequent_status, info = d.report_follow_up(r_id)
# db.update_subsequent_status_by_id(
# rs_id, subsequent_status, f"http://{ip}:5000/image/{info}"
# )
# # except Exception as e:
# # logger.logger.error(f"ID:{rs_id}, e:{e}")
# # db.update_subsequent_status_by_id(rs_id, 1, str(e))
# time.sleep(5) # 避免频繁请求
# time.sleep(5)