CLI 命令行工具参考¶
SAGE 统一命令行工具,提供完整的作业管理、系统部署和集群管理功能,是使用 SAGE 框架的主要入口。
🚀 快速开始¶
安装依赖¶
基本使用¶
# 查看帮助
sage --help
# 启动系统
sage deploy start
# 列出作业
sage job list
# 查看作业详情
sage job show 1
# 运行脚本
sage job run your_script.py
# 停止系统
sage deploy stop
📋 命令结构¶
作业管理 (sage job
)¶
list
- 列出所有作业show <job>
- 显示作业详情run <script>
- 运行Python脚本stop <job>
- 停止作业continue <job>
- 继续作业delete <job>
- 删除作业status <job>
- 获取作业状态cleanup
- 清理所有作业health
- 健康检查info
- 系统信息monitor
- 实时监控所有作业watch <job>
- 监控特定作业
系统部署 (sage deploy
)¶
start
- 启动SAGE系统stop
- 停止SAGE系统restart
- 重启SAGE系统status
- 显示系统状态health
- 健康检查monitor
- 实时监控系统
集群管理 (sage cluster
)¶
create
- 创建集群scale
- 集群扩缩容info
- 集群信息destroy
- 销毁集群
🔧 配置¶
配置文件位于 ~/.sage/config.yaml
:
daemon:
host: "127.0.0.1"
port: 19001
output:
format: "table"
colors: true
monitor:
refresh_interval: 5
jobmanager:
timeout: 30
retry_attempts: 3
🔄 迁移指南¶
从旧CLI迁移¶
原来的命令 | 新命令 |
---|---|
sage-jm list |
sage job list |
sage-jm show 1 |
sage job show 1 |
sage-jm stop 1 |
sage job stop 1 |
sage-jm health |
sage job health |
sage-deploy start |
sage deploy start |
向后兼容¶
sage-jm
命令仍然可用,会自动重定向到新CLI- 所有原有参数都保持兼容
🆕 新特性¶
- 统一入口: 所有命令通过
sage
统一访问 - 更好的帮助: 更详细的命令帮助和示例
- 彩色输出: 支持彩色状态显示
- 作业编号: 支持使用作业编号(1,2,3...)简化操作
- 配置管理: 支持配置文件自定义设置
📚 使用示例¶
完整工作流程¶
# 1. 启动系统
sage deploy start
# 2. 检查健康状态
sage job health
# 3. 运行脚本
sage job run my_analysis.py --input data.csv
# 4. 监控作业
sage job monitor
# 5. 查看特定作业
sage job show 1
# 6. 停止作业(如需要)
sage job stop 1
# 7. 停止系统
sage deploy stop
批量操作¶
🏗️ 架构设计¶
命令结构¶
sage
├── job # 作业管理
│ ├── list
│ ├── show
│ ├── run
│ ├── stop
│ ├── monitor
│ └── ...
├── deploy # 系统部署
│ ├── start
│ ├── stop
│ ├── status
│ └── ...
├── cluster # 集群管理
│ ├── create
│ ├── scale
│ ├── info
│ └── ...
└── config # 配置管理
├── show
├── set
└── ...
组件交互¶
🔍 故障排除¶
命令不存在¶
连接失败¶
配置问题¶
⚡ 性能优化¶
响应速度¶
- 命令缓存机制
- 异步操作支持
- 批量操作优化
- 智能状态更新
资源效率¶
- 内存使用优化
- 网络请求合并
- 连接池管理
- 后台任务处理
🔧 扩展开发¶
自定义命令¶
from sage.cli.base import BaseCommand
class CustomCommand(BaseCommand):
def add_arguments(self, parser):
parser.add_argument('--option', help='Custom option')
def handle(self, args):
# 实现自定义逻辑
return result
插件系统¶
- 支持第三方命令插件
- 动态加载和注册
- 插件依赖管理
- 插件配置和参数
🌐 多环境支持¶
环境配置¶
- 开发、测试、生产环境
- 环境隔离和切换
- 配置继承和覆盖
- 环境特定的默认值
部署模式¶
- 本地单机部署
- 分布式集群部署
- 容器化部署
- 云端部署