feat: 添加重试机制以处理错误记录并写入数据库
This commit is contained in:
parent
7f60997a58
commit
7c1c5bf5a0
32
retry_error_records.py
Normal file
32
retry_error_records.py
Normal file
@ -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)
|
Loading…
x
Reference in New Issue
Block a user