You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用ClearML实现Python脚本自动化:按需启停服务器

实现ClearML多Python脚本自动化及按需启停执行节点方案

一、先理清核心组件

  • ClearML Agent:负责执行脚本的工作节点(即你说的"服务器"),支持按需启动/关闭
  • ClearML Task:每个Python脚本对应一个Task,是调度执行的基本单元
  • ClearML Server:管控后台,负责任务调度、Agent状态管理

二、具体操作步骤

1. 基础环境配置

  • 安装依赖包:
    pip install clearml
    pip install clearml-agent
    
  • 初始化ClearML(首次运行会弹出配置引导,按提示关联你的ClearML Server):
    clearml-init
    

2. 把Python脚本转为可调度的Task

给每个脚本添加几行代码,让ClearML能捕获脚本的依赖、参数并纳入管控:

from clearml import Task

# 初始化Task,自动关联项目和任务名
task = Task.init(project_name="你的项目名称", task_name="脚本专属任务名")

# 你的原有脚本代码...

运行一次脚本后,对应的Task会自动上传到ClearML Server的指定项目下。

3. 按需启动执行节点(Agent)

  • 启动Agent并监听指定队列,它会自动拉取队列中的任务执行:
    clearml-agent daemon --queue "自定义队列名"
    
  • 若需限制资源(比如指定GPU),可添加参数:
    clearml-agent daemon --queue "自定义队列名" --gpus 0
    

4. 批量调度多脚本任务

  • 网页端操作:登录ClearML Server后台,找到所有创建好的Task,将它们添加到同一个队列,Agent会按顺序执行。
  • 代码批量调度:
    from clearml import Task
    
    # 获取已创建的Task对象
    task1 = Task.get_task(project_name="你的项目名称", task_name="脚本1任务名")
    task2 = Task.get_task(project_name="你的项目名称", task_name="脚本2任务名")
    
    # 将任务加入队列等待执行
    task1.enqueue(queue_name="自定义队列名")
    task2.enqueue(queue_name="自定义队列名")
    

5. 按需关闭执行节点

前台运行的Agent直接按Ctrl+C终止;后台运行的Agent,用进程管理工具找到clearml-agent进程并终止即可。关闭后,未完成的任务会留在队列中,下次启动Agent会继续执行。

三、官方核心文档核心要点(整理版)

  • Task管理:重点看「Task Creation & Execution」章节,学习配置Task参数、依赖环境、任务快照
  • Agent管理:「ClearML Agent」章节,掌握队列配置、资源限制、Agent集群扩展
  • 自动化调度:「Automation & Pipelines」章节,了解任务流水线构建、触发条件(如定时执行、依赖任务完成后自动触发)

内容的提问来源于stack exchange,提问作者bballboy8

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 17:07:05