CONTINUOUS_PROCESSING.md 4.3 KB

连续处理模式使用说明

概述

连续处理模式是一个自动化执行流程,能够连续处理数据库中的记录,一条完成后自动处理下一条,直到所有记录处理完成或达到限制条件。

功能特点

自动化处理:无需人工干预,自动连续处理数据库记录
智能停止:连续失败3次后自动停止,避免无限循环
进度监控:实时显示处理进度、成功率和统计信息
灵活配置:可设置最大处理数量和间隔时间
用户控制:支持 Ctrl+C 随时中断处理
错误处理:完善的异常处理和错误恢复机制

使用方法

1. 命令行启动

# 基本连续处理(无数量限制)
python3 indentify.py --continuous

# 设置最大处理数量
python3 indentify.py --continuous --max-records 100

# 设置处理间隔时间(秒)
python3 indentify.py --continuous --delay 5

# 组合使用
python3 indentify.py --continuous --max-records 50 --delay 3

2. 启动脚本

# 运行启动脚本
./run.sh

# 选择选项 3(连续处理模式)
# 然后根据需要设置参数

3. 参数说明

参数 说明 默认值
--continuous 启用连续处理模式 -
--max-records 最大处理记录数量 无限制
--delay 处理间隔时间(秒) 2秒

工作流程

  1. 启动检查:检查数据库连接和待处理记录
  2. 循环处理:逐条处理数据库记录
  3. 状态更新:更新记录的处理状态
  4. 进度监控:显示处理进度和统计信息
  5. 智能停止:达到条件后自动停止

处理逻辑

成功处理

  • 记录处理成功后,状态更新为完成
  • 重置连续失败计数
  • 继续处理下一条记录

失败处理

  • 记录处理失败时,增加连续失败计数
  • 连续失败3次后自动停止
  • 显示详细的错误信息

自动停止条件

  • 所有记录处理完成
  • 达到最大处理数量限制
  • 连续失败3次
  • 用户手动中断(Ctrl+C)

监控信息

实时显示

  • 当前处理的记录信息
  • 处理时间和状态
  • 成功/失败统计
  • 剩余待处理记录数量

最终统计

  • 总处理数量
  • 成功数量
  • 失败数量
  • 成功率百分比

配置建议

处理间隔时间

  • 快速处理:1-2秒(适合测试环境)
  • 正常处理:2-5秒(适合生产环境)
  • 保守处理:5-10秒(避免API限制)

最大处理数量

  • 测试环境:10-50条
  • 生产环境:100-500条
  • 无限制:适合批量处理任务

注意事项

⚠️ API限制:注意第三方API的调用频率限制
⚠️ 资源消耗:长时间运行会消耗系统资源
⚠️ 数据库连接:确保数据库连接稳定
⚠️ 错误处理:关注失败记录的原因分析

故障排除

常见问题

  1. 连续失败过多

    • 检查数据库连接
    • 验证API配置
    • 查看错误日志
  2. 处理速度过慢

    • 调整处理间隔时间
    • 检查网络延迟
    • 优化处理逻辑
  3. 内存占用过高

    • 减少最大处理数量
    • 增加处理间隔时间
    • 检查内存泄漏

日志分析

系统会输出详细的处理日志,包括:

  • 每条记录的处理状态
  • 错误信息和异常堆栈
  • 性能统计和资源使用情况

示例输出

启动连续处理模式...
系统将自动处理数据库中的记录,一条完成后自动处理下一条
处理间隔: 2 秒
无数量限制,将处理所有可用记录
按 Ctrl+C 可以随时停止处理
------------------------------------------------------------

--- 处理第 1 条记录 ---
时间: 2024-01-15 14:30:25
开始处理记录 ID: 123, 内容ID: content_456
  频道: xiaohongshu
  标题: 小红书内容识别测试...
  内容: 这是一个测试内容...
开始内容识别处理...
✅ 记录处理成功 (成功: 1, 失败: 0)
剩余待处理记录: 45 条
等待 2 秒后处理下一条记录...

--- 处理第 2 条记录 ---
时间: 2024-01-15 14:30:30
...

总结

连续处理模式是一个强大的自动化工具,能够高效地处理大量数据库记录。通过合理的配置和监控,可以实现稳定、高效的批量处理流程。