33 lines
983 B
Python
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)
|