DailyMotion/retry_error_records.py

33 lines
983 B
Python

import time
from DB import DBVidcon
def retry_error_records(poll_interval=10):
"""
持续检测 urgent_list_key 和 list_key 队列,一旦都为空,就从 error_list_key 弹出一条记录,
并调用 upsert_video 重试写入。
"""
db = DBVidcon()
while True:
# 判断 urgent 和普通列表是否都为空
if db.queues_empty():
err = db.pop_error_item()
if err:
record = err
try:
print(f"[重试] 处理错误记录: {record}")
db.upsert_video(record)
db.flush()
print("[重试] 成功写入数据库")
except Exception as e:
print(f"[重试] 写入失败: {e}")
else:
time.sleep(poll_interval*poll_interval)
else:
time.sleep(poll_interval)
if __name__ == '__main__':
retry_error_records(poll_interval=10)