diff --git a/retry_error_records.py b/retry_error_records.py new file mode 100644 index 0000000..e61e67c --- /dev/null +++ b/retry_error_records.py @@ -0,0 +1,32 @@ +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)