# 自动任务执行脚本 - 使用说明 ## 🚀 快速开始 ### 推荐方式:使用启动器 双击运行启动器脚本,根据菜单选择运行模式: ``` scripts\start_task_scheduler.bat ``` 启动器支持以下模式: 1. **前台运行** - 可以看到实时日志,按 Ctrl+C 停止 2. **后台运行** - 无窗口运行,日志输出到文件 3. **执行一次** - 只检查一次 pending 任务 4. **前台运行 + 自动 Chat** - 自动向 Cursor 发送任务提醒 5. **后台运行 + 自动 Chat** - 后台运行并自动发送 Chat 6. **查看服务状态** - 检查进程状态和日志 7. **停止服务** - 停止后台运行的服务 --- ### 命令行方式 ```cmd cd G:\code-lab\DataOps-platform-new python scripts\auto_execute_tasks.py [选项] ``` **可用选项:** | 选项 | 说明 | |------|------| | `--once` | 只执行一次检查,不循环 | | `--interval N` | 设置检查间隔(秒),默认 300 | | `--enable-chat` | 启用自动 Cursor Chat | | `--chat-input-pos "x,y"` | 指定 Chat 输入框位置 | | `--chat-message "消息"` | 自定义 Chat 消息内容 | **示例:** ```cmd # 执行一次 python scripts\auto_execute_tasks.py --once # 每 10 分钟检查一次 python scripts\auto_execute_tasks.py --interval 600 # 启用自动 Chat python scripts\auto_execute_tasks.py --enable-chat --chat-input-pos "1180,965" # 完整示例 python scripts\auto_execute_tasks.py --interval 300 --enable-chat --chat-input-pos "1180,965" ``` --- ## 📊 工作流程 ``` ┌─────────────────────────────────────────────────────────────┐ │ auto_execute_tasks.py │ └─────────────────────────────┬───────────────────────────────┘ │ ┌───────────────────────┼───────────────────────┐ ▼ ▼ ▼ ┌─────────────┐ ┌─────────────────┐ ┌──────────────┐ │ 1. 同步完成 │ │ 2. 获取pending │ │ 3. 生成文件 │ │ 状态 │ │ 任务 │ │ │ └─────────────┘ └─────────────────┘ └──────────────┘ │ │ │ │ ▼ │ │ ┌─────────────────┐ │ │ │ 4. 创建任务文件 │ │ │ │ 更新状态为 │ │ │ │ processing │ │ │ └─────────────────┘ │ │ │ │ │ ▼ │ │ ┌──────────────────────────────┐ │ │ │ 5. 写入 pending_tasks.json │ │ │ │ 6. 生成 instructions.md │ │ │ └──────────────────────────────┘ │ │ │ │ │ ▼ │ │ ┌──────────────────────────────┐ │ │ │ 7. (可选) 发送 Cursor Chat │ │ │ └──────────────────────────────┘ │ │ │ │ └───────────────────────┼───────────────────────┘ ▼ ┌─────────────────┐ │ 等待下一次检查 │ └─────────────────┘ ``` --- ## 📁 生成的文件 | 文件 | 说明 | |------|------| | `.cursor/pending_tasks.json` | 待处理任务列表(JSON 格式) | | `.cursor/task_execute_instructions.md` | Cursor 执行指令文件 | | `.cursor/task_trigger.txt` | 触发器标记文件 | | `logs/auto_execute.log` | 日志文件(后台模式) | | `app/core/data_flow/*.py` | 任务占位文件(可配置路径) | --- ## ⚙️ 配置说明 ### 数据库配置 编辑文件:`mcp-servers/task-manager/config.json` ```json { "database": { "uri": "postgresql://user:password@host:5432/database" } } ``` ### 自动 Chat 配置 启用自动 Chat 需要安装以下依赖: ```cmd pip install pywin32 pyautogui pyperclip ``` **获取 Chat 输入框位置:** 1. 打开 Cursor 并显示 Chat 面板 2. 将鼠标移动到 Chat 输入框 3. 记录鼠标坐标(可使用屏幕坐标工具) 4. 使用 `--chat-input-pos "x,y"` 参数指定 --- ## 🔍 故障排查 ### 问题 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:自动 Chat 不工作 **检查:** 1. 是否安装 GUI 依赖:`pip install pywin32 pyautogui pyperclip` 2. Cursor 窗口是否打开 3. Chat 输入框位置是否正确 ### 问题 4:进程无法停止 **解决方法:** 1. 运行启动器选择 7 停止服务 2. 或打开任务管理器手动结束 Python 进程 --- ## 📝 日志说明 ### 前台运行 - 日志直接输出到控制台 ### 后台运行 - 日志文件:`logs\auto_execute.log` 查看日志: ```cmd # 查看全部日志 type logs\auto_execute.log # 查看最后 50 行 powershell "Get-Content logs\auto_execute.log -Tail 50" ``` --- ## 📞 相关文件 | 文件 | 说明 | |------|------| | `scripts/auto_execute_tasks.py` | 核心调度脚本 | | `scripts/start_task_scheduler.bat` | 启动器脚本 | | `mcp-servers/task-manager/config.json` | 数据库配置 | --- **祝您使用愉快!🚀**