TaskNya 是一个通用的任务监控与通知工具,适用于 通用任务的监控和通知。
它能够 检测任务完成或设备状态(基于文件、日志、GPU 资源、目录变化),并通过 飞书 / 企业微信 / 邮件 / 通用 Webhook 发送通知。
- 文件检测:当指定文件生成后,触发通知(适用于模型训练完成、计算结束等)。
- 日志检测:当日志中出现指定关键字时,触发通知(支持全量和增量检测)。
- GPU 资源检测:支持功耗低于/高于阈值触发,支持连续确认次数。
- 多文件感知 (目录监控):实时监控整个目录的文件变动(新增、删除、修改),支持二次确认逻辑以确保文件写入完整,并可根据文件名提供智能操作建议。
- 通知渠道:飞书机器人、企业微信群机器人、邮件(SMTP)、通用 Webhook、QQ(通过 Astrbot 插件)
- 自定义文本:飞书/企业微信/邮件支持
template(完全替换)与append(追加)两种模式,支持${var}内联变量。 - 通用 Webhook JSON 编辑器:支持字段编辑器 / 原始 JSON 双模式,支持实时预览。
- 时间配置解析:
check_interval、logprint、二次确认延迟等支持60、5m、1h30m格式。 - 版本号动态化:Web 页面版本号由根目录
VERSION文件提供,发布流程自动更新。 - Web 管理后台:提供实时配置、日志查看、任务控制等图形化操作。
- Docker 支持:提供官方 Dockerfile 与 Compose 配置,支持一键部署。
- 跨平台适配:支持 Windows / Linux / macOS。
- HTTP/API 检测:支持主动 HTTP 轮询和被动 API 触发端口。
- CLI 手动触发:
python main.py --trigger跳过检测直接发送通知。 - 更多触发条件预设 (CPU/内存/磁盘)
- 从 Release 下载
TaskNya.exe。 - 双击运行,浏览器访问
http://localhost:9870。
docker pull xueayis/tasknya:latest
docker run -d -p 9870:9870 -v $(pwd)/logs:/app/logs xueayis/tasknya:latest或使用 Docker Compose:
# docker-compose.yml
services:
tasknya:
image: xueayis/tasknya:latest
container_name: tasknya
ports:
- "9870:9870"
volumes:
- ./configs:/app/configs # 配置文件持久化
- ./logs:/app/logs # 日志持久化
- ./monitor_targets:/app/monitor_targets # 监控目标文件
environment:
- TASKNYA_HOST=0.0.0.0
- TASKNYA_PORT=9870
restart: unless-stoppeddocker compose up -d # 启动
docker compose logs -f # 查看日志
docker compose down # 停止pip install -r requirements.txt
python webui.py浏览器访问:http://localhost:9870
自定义端口:所有启动方式均支持手动指定端口(默认
9870):python webui.py --port 8080 # Python 直接启动 bash manage_webui.sh start 8080 # Linux/macOS 后台管理 start_webui.bat 8080 # Windows
python main.py # 启动监控(默认配置)
python main.py --trigger # 手动触发通知(测试用)
python main.py --trigger --message "训练完成" # 附带自定义消息
bash run_monitor.sh # 交互选择配置并启动
bash run_monitor.sh --port 8080 # 指定 API 触发端口详见 CLI 使用指南
详细的安装步骤、配置说明以及开发指南,请参阅以下文档:
- 完整使用教程:
docs/user_guide.md - 项目架构与扩展:
docs/DEVELOPMENT.md - 接口定义:
docs/api_reference.md - 多平台通知配置:
docs/notification_setup.md - 内联变量参考:
docs/inline_variables.md - CLI 使用指南:
docs/cli_usage.md
-
GPU监控功能
- 仅在有NVIDIA显卡的环境下可用
- 需要安装
nvidia-ml-py3包 - 无NVIDIA显卡时此功能会自动禁用
-
Web 界面使用
- 配置修改后需点击"应用当前配置"才会生效
- 可以保存多个配置方案,方便切换
- 日志面板实时显示监控状态
-
文件路径
- 配置文件中的路径都相对于项目根目录
-
监控逻辑
- 多个监控条件是"或"的关系
- 任一条件满足即触发通知
- GPU功耗检测需要连续多次满足阈值条件
- 目录/文件二次确认延迟支持
30s、2m等时间格式
-
日志文件
webui.log: 记录 Web 界面的操作日志- 日志文件会自动创建在
logs目录下
-
配置文件
- 默认配置保存在
configs/default.yaml - 自定义配置保存在
configs目录下 - 支持通过Web界面管理配置
- 版本号来自根目录
VERSION
- 默认配置保存在
欢迎贡献代码!请先 fork 项目,然后提交 Pull Request
如果你喜欢该项目的话欢迎添加star!
MIT License - 你可以自由使用和修改本项目。
