修复的Bug: - Bug #21: Playwright浏览器实例泄漏 - Bug #22: 数据库连接泄漏(已由连接池解决) - Bug #23: 截图文件句柄泄漏 - Bug #24: 线程资源未清理 - Bug #25: requests.Session对象泄漏 主要改进: 1. PlaywrightAutomation类: - 添加atexit注册,确保进程退出时关闭浏览器 - 添加__enter__/__exit__支持context manager - 添加_closed标志防止重复关闭 - 添加_cleanup_on_exit静默清理方法 2. APIBrowser类: - 添加atexit注册,确保Session正确关闭 - 添加__enter__/__exit__支持context manager - 添加_closed标志防止重复关闭 3. 截图功能增强: - 使用临时文件机制 - 添加文件大小验证 - 失败时自动清理临时文件 - 确保不产生垃圾文件 4. 应用关闭清理: - 添加cleanup_on_exit()函数 - 注册SIGINT/SIGTERM信号处理器 - 停止所有运行中的任务 - 等待线程优雅退出 - 关闭浏览器线程池 - 关闭数据库连接池 影响: - 防止长期运行导致的内存泄漏 - 确保进程异常退出时正确清理资源 - 提升系统稳定性和可靠性 受影响文件: - playwright_automation.py - api_browser.py - app.py 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
14 KiB
Executable File
14 KiB
Executable File