# 自动任务执行脚本 - Windows使用说明 ## 🚀 快速开始 ### 方式1:前台运行(可以看到实时输出)⭐推荐 双击运行: ``` scripts\start_auto_tasks.bat ``` 或者命令行: ```cmd cd scripts start_auto_tasks.bat ``` **特点**: - ✅ 可以看到实时日志输出 - ✅ 按 Ctrl+C 可以停止 - ⚠️ 关闭窗口会停止服务 --- ### 方式2:后台运行(无窗口)⭐推荐生产环境 双击运行: ``` scripts\start_auto_tasks_background.bat ``` **特点**: - ✅ 在后台运行,不占用窗口 - ✅ 日志输出到 `logs\auto_execute.log` - ✅ 关闭命令行窗口后仍继续运行 - ⚠️ 需要手动停止进程 --- ### 方式3:命令行直接运行 ```cmd cd G:\code-lab\DataOps-platform python scripts\auto_execute_tasks.py ``` 参数说明: - 默认:每5分钟检查一次(300秒) - `--once`:只执行一次检查,不持续运行 - `--interval N`:设置检查间隔(秒) 示例: ```cmd # 执行一次 python scripts\auto_execute_tasks.py --once # 每10分钟检查一次 python scripts\auto_execute_tasks.py --interval 600 ``` --- ## 📋 管理命令 ### 检查服务状态 双击运行: ``` scripts\check_auto_tasks.bat ``` 或者命令行: ```cmd cd scripts check_auto_tasks.bat ``` **功能**: - ✅ 检查进程是否在运行 - ✅ 显示进程ID和启动时间 - ✅ 显示最近20行日志 - ✅ 执行一次手动检查 --- ### 停止服务 双击运行: ``` scripts\stop_auto_tasks.bat ``` 或者命令行: ```cmd cd scripts stop_auto_tasks.bat ``` **说明**: - 自动查找并停止所有 `auto_execute_tasks.py` 进程 - 如果无法停止,可以在任务管理器中手动结束 Python 进程 --- ## 📊 工作流程 ``` 1. 脚本启动 ↓ 2. 连接数据库(从 mcp-servers/task-manager/config.json 读取配置) ↓ 3. 查询所有 status = 'pending' 的任务 ↓ 4. 如果有pending任务: - 打印任务详情(供Cursor识别) - 创建 .cursor/pending_tasks.json 通知文件 ↓ 5. 等待指定间隔时间(默认5分钟) ↓ 6. 重复步骤3-5 ``` --- ## 📝 日志文件 ### 前台运行 - 日志直接输出到控制台 ### 后台运行 - 日志文件:`logs\auto_execute.log` 查看日志: ```cmd # 查看全部日志 type logs\auto_execute.log # 查看最后50行 powershell "Get-Content logs\auto_execute.log -Tail 50" ``` --- ## ⚙️ 配置说明 ### 数据库配置 编辑文件:`mcp-servers/task-manager/config.json` ```json { "database": { "uri": "postgresql://postgres:dataOps@192.168.3.143:5432/dataops" } } ``` ### 检查间隔 默认:300秒(5分钟) 修改方式: 1. 编辑批处理文件中的 `--interval 300` 参数 2. 或直接命令行运行:`python scripts\auto_execute_tasks.py --interval 600` --- ## 🔍 故障排查 ### 问题1:脚本无法启动 **检查**: 1. Python是否安装:`python --version` 2. psycopg2是否安装:`pip show psycopg2-binary` 3. 如果未安装:`pip install psycopg2-binary` ### 问题2:无法连接数据库 **检查**: 1. PostgreSQL服务是否运行 2. `mcp-servers/task-manager/config.json` 配置是否正确 3. 网络连接是否正常 ### 问题3:找不到pending任务 **检查**: 1. 数据库中是否有 status = 'pending' 的任务 2. 执行一次手动检查:`python scripts\auto_execute_tasks.py --once` ### 问题4:进程无法停止 **解决方法**: 1. 打开任务管理器(Ctrl+Shift+Esc) 2. 找到 python.exe 进程 3. 右键 → 结束任务 或使用PowerShell: ```powershell Get-Process python | Where-Object {$_.Path -like "*DataOps-platform*"} | Stop-Process -Force ``` --- ## 💡 使用建议 ### 开发环境 - 使用 **方式1(前台运行)** - 可以看到实时日志,方便调试 ### 生产环境 - 使用 **方式2(后台运行)** - 设置为Windows服务或开机自启动 ### 测试 - 使用 `--once` 参数执行一次检查 - 或使用 `check_auto_tasks.bat` 查看状态 --- ## 📞 相关文档 - **完整文档**:`docs/CURSOR_AUTO_TASK_EXECUTION.md` - **快速开始**:`docs/TASK_EXECUTION_QUICK_START.md` - **实施总结**:`CURSOR_TASK_AUTOMATION_SUMMARY.md` --- ## ✅ 当前状态 **脚本已启动**:✅ 后台运行中 **检查间隔**:5分钟(300秒) **日志位置**:`logs\auto_execute.log`(后台模式)或控制台(前台模式) --- **祝您使用愉快!🚀**