Achelous 作业管理工具

作为针对生物信息使用需求开发的作业管理平台,Achelous 为使用者提供了强大的作业管理功能。下面将向用户展示作业管理中基本概念,以及常规操作。


使用前的环境配置

在使用 biocli 之前,用户需要先配置服务器地址。可通过以下命令设置:

biocli env set server <server-address>

其中 <server-address> 为 bioflow 服务器的地址,如 localhost:9090

例如:

[demo@Cc1Xtcls]$ biocli env set server 10.61.52.195:9090

设置完成后,可通过以下命令确认配置:

[demo@Cc1Xtcls]$ biocli env get
endpoints: 
server: 10.61.52.195:9090
  • biocli env set <key> <value>:设置环境配置,key 支持 endpointsserver
  • biocli env get [--key="all"]:获取环境配置,可指定 key 名称(endpoints/server/all)

注意:如未配置 server 地址,执行 biocli 命令时会提示 "Please set env first."。


作业管理的基本概念

  1. job-id : 对于多用户环境下,Achelous 会为每个投递的任务分配一个ID,其构成为32位字符。此id为作业的唯一标识。用户对于作业的状态查询,暂停,修改权限等操作,均需要以job-id为依据。注意:截取job-id的一部分,如果其唯一,则也可以进行相应的作用

  2. job-name : 用户可为自己提交的作业任意命名,作业名称不具有查询效果

  3. task-id : 由于job 中存在多个task 。因此,Achelous 中每个task 也有相应的ID 。但task-id 一般不能直接使用,需要通过结合job-id 进行查询。

  4. 作业优先级 : 作业优先级与Linux 中进程优先级类似。其取值为 0 - 10 ,数值越大,对应的优先级越高。在计算资源有限的情况下,优先级高的任务会先被执行。


使用Achelous 提交作业

用户可通过下面的命令进行作业提交。

biocli job submit [选项] <file>

其中:

  • <file> 为作业文件,支持 JSON 和 YAML 格式
  • -y / --yaml:作业文件为 YAML 格式
  • -v / --env:配置作业任务使用提交用户的环境变量

作业文件中记录了作业相关信息,包括作业名称、作业使用的Pipeline 、作业描述、作业相关输入及参数、优先级等信息,JSON 格式如下:


{
    "Name" : "My_first_WDL_job",
    "Pipeline" : "demo_pipeline",
    "InputDataSet" : {
        "WorkflowInput" : {
                "fastqtobam.fastq1" : "",
                "fastqtobam.fastq2" : "",
                "fastqtobam.ref" : ""
        }
    },
    "Priority" : 7
}

作业正确提交后会返回作业的job-id,用于后续对此作业的操作。例如:

[demo@Cc1Xtcls]$ biocli job submit  my.demo.job.json
The job added success, job ID is: d0a35ca2-192a-4b31-7082-9df4bd49cf8c

结果中 d0a35ca2-192a-4b31-7082-9df4bd49cf8c 为该任务的 job-id


使用Achelous 查看作业列表

用户可通过以下命令查看作业列表。

biocli job list [选项]

其中:

  • -a / --all:列出运行中作业和历史作业
  • -o / --old:仅列出历史作业
  • -i / --name="":按作业名称筛选
  • -F / --finish:时间筛选关联完成时间(默认关联创建时间)
  • -S / --span=SPAN:时间范围筛选,格式 [2017-06-01 12:00:00, 2017-07-01 12:00:00];使用横线(或空)设置单边条件
  • -p / --pipeline="":按流程名称筛选
  • -n / --count=COUNT:显示作业数量
  • -r / --priority=-1:按优先级筛选
  • -t / --state="":按作业状态筛选

例如:

[demo@Cc1Xtcls]$ biocli job list -a -n 10
JobID                                 Name              Pipeline          State     Priority
d0a35ca2-192a-4b31-7082-9df4bd49cf8c  My_first_WDL_job  demo_pipeline     RUNNING   7
e1b46db3-203b-5c42-8193-aef5ce50df9d  filter_job        FILTER            COMPLETE  5
[demo@Cc1Xtcls]$ biocli job list -t RUNNING -p demo_pipeline

使用Achelous 查看作业状态

用户可通过以下命令对已经成功提交的作业进行状态查看。

biocli job status [选项] <job-id>

其中:

  • job-id 为提交作业的作业id
  • -d / --detail:显示详细信息
  • -w / --wait:显示等待中的 stages
  • -p / --perf:显示性能数据
  • -o / --output:显示作业输出

例如:

[demo@Cc1Xtcls]$ biocli job status d0a35ca2-192a-4b31-7082-9df4bd49cf8c -d

Status of Job d0a35ca2-192a-4b31-7082-9df4bd49cf8c:
 Name: MY_DEMO_JOB
 Pipeline: FILTER
 State: RUNNING
 Owner: demo
 WorkDir: vol1@xtao:/Demo_data/batch-runs/job-FILTER-d0a35ca2-192a-4b31-7082-9df4bd49cf8c
 PausedState: N/A
 Created: 2021-05-20T12:14:25Z
 Finished: N/A
 RetryLimit: 3
 RunCount: 1
 UserStageCount: 0
 StageQuota: -1
 Priority: 7
 FailReason:
 GraphBuildStatus: Completed
 DoneStages: No stage done
 RunningStages: 23

使用Achelous 监控作业

实时监控作业状态

biocli job monitor [选项]
  • -p / --perf:显示每个任务的性能数据
  • -n / --num=NUM:显示任务的最大数量

查看作业统计信息

biocli job stats [选项]
  • -i / --id="*":按作业 ID 查看统计
  • -p / --perf:显示每个任务的性能数据
  • -m / --summary:显示汇总数据
  • -a / --all:显示所有阶段
  • -n / --num=-1:显示任务的最大数量

导出监控信息

biocli job dumpmonitor [-y] <file>
  • -y / --yaml:输出为 YAML 格式
  • <file>:输出文件路径

使用Achelous 查看作业日志

用户可通过以下命令查看作业的错误日志。

biocli job logs [选项] <job-id>

其中:

  • job-id 为作业 ID
  • -T / --stage="*":按阶段名称(stage name)筛选日志
  • -S / --stage_id="*":按阶段 ID(stage id)筛选日志
  • -t / --task_id="*":按任务 ID(task id)筛选日志

例如:

[demo@Cc1Xtcls]$ biocli job logs d0a35ca2 -T stage-smoke1

关于通过日志进行作业调试的详细说明,请参见作业调试方法


使用Achelous 取消作业

用户可以通过以下命令,取消作业。

biocli job cancel [job-id]

其中:

  • job-id 为提交作业的作业id

例如:

[demo@Cc1Xtcls]$ biocli job cancel d0a35ca2 ## 截取部分job-id 也可以作为作业唯一标识
Successfully cancel job d0a35ca2-192a-4b31-7082-9df4bd49cf8c

使用Achelous 暂停作业

用户可以通过以下命令暂停作业。

biocli job pause [job-id]
  • job-id 为需要暂停的作业的job-id

暂停后的作业并没有完全结束,如果作业中存在正在运行的任务(task),那么这些任务并不会停止,而是继续执行,但作业中未被投递的任务,将暂时不再投递。

例如:

[demo@Cc1Xtcls]$ biocli job pause b5d0d361
Successfully pause job b5d0d361-04e2-4ecf-6274-594f7e9052c5

使用Achelous 恢复暂停状态中的作业

用户可以通过以下命令恢复暂停状态的作业。

biocli job resume [job-id]
  • job-id 为需要恢复的作业的job-id

例如:

[demo@Cc1Xtcls]$ biocli job resume b5d0d361
Successfully resume job b5d0d361-04e2-4ecf-6274-594f7e9052c5

使用Achelous 恢复失败状态的作业

用户可以通过以下命令恢复失败状态中的作业。

biocli job recover [选项]
选项 说明
-i / --id="*" 作业 ID,默认 *(支持批量恢复)
-o / --opt="default" 恢复选项:skippendingstagesdefault
-S / --span=SPAN 按完成时间范围筛选作业
-p / --pipeline="" 按流程名称筛选
-n / --count=COUNT 指定恢复作业数量
-r / --retry_taskid 指定重试的 task ID(无论是否已完成)
-e / --change_epoch 恢复时变更 WDL 引擎的 epoch
-c / --recover_cromwell_job 恢复 Cromwell 作业
-f / --file=FILE Cromwell 源文件
-O / --options=OPTIONS Cromwell 选项 JSON 文件
-z / --zipfile=ZIPFILE Cromwell 导入 ZIP 文件

例如:

[demo@Cc1Xtcls]$ biocli job recover -i b5d0d361

关于作业失败后恢复更详细说明,请参见这篇内容


使用Achelous 终止作业中的指定任务

用户可以通过以下命令终止作业中指定的任务。

biocli job killtask [-t TASK] <job-id>
  • job-id 为作业 ID
  • -t / --task="*":要终止的任务 ID,默认为 *(全部任务)

例如:

[demo@Cc1Xtcls]$ biocli job killtask -t paladin-task.a132c6b8 d0a35ca2

使用Achelous 重新排队作业阶段

用户可以通过以下命令将作业的某个阶段重新排队执行,同时可更新该阶段的资源配置。

biocli job requeue [选项] <job-id> <stage>
  • job-id 为作业 ID
  • stage 为需要重新排队的阶段 ID
  • -c / --cpu=CPU:更新该阶段的 CPU 配置
  • -m / --memory=MEMORY:更新该阶段的内存配置

例如:

[demo@Cc1Xtcls]$ biocli job requeue -c 4 -m 8000 d0a35ca2 wk-wk.tool-tool.smoke1

使用Achelous 查看挂起的作业和任务

用户可以通过以下命令查看处于挂起状态的作业和任务。

biocli job lshangtask

使用Achelous 清理作业历史

用户可以通过以下命令清理已完成作业的历史记录。

biocli job cleanup [选项]

其中:

  • -a / --all:清理所有作业历史
  • -i / --name="":按作业名称筛选
  • -F / --finish:时间筛选关联完成时间
  • -S / --after="":清理此时间之后创建/完成的作业
  • -E / --before="":清理此时间之前创建/完成的作业
  • -p / --pipeline="":按流程名称筛选
  • -n / --count=COUNT:清理作业数量,默认 0
  • -r / --priority=-1:按优先级筛选
  • -t / --state="":按状态筛选
  • -b / --boltdb:清理作业 boltdb 文件
  • -o / --onlyboltdb:仅清理 boltdb 文件,不清理作业历史

例如:

[demo@Cc1Xtcls]$ biocli job cleanup -a

使用Achelous 重新设定优先级

用户可以通过以下命令调整作业的优先级

biocli job setpri [job-id] [priority]
  • job-id 为需要调整优先级的作业 job-id priority 为优先级数值,取值范围为 0 到 10之间的整数。数值越高,优先级越高 例如:
[demo@Cc1Xtcls]$ biocli job setpri b5d0d361  8
Successfully update job b5d0d361-04e2-4ecf-6274-594f7e9052c5 priority to 8

使用Achelous 查看仪表盘

用户可以通过以下命令查看平台仪表盘信息。

biocli dashboard show [选项]
  • -v / --details:显示更详细的信息
  • -q / --queue=-1:指定队列

例如:

[demo@Cc1Xtcls]$ biocli dashboard show -v
Powered by XTAO TechnologyLast Modified On:2021 2026-06-05 09:22:08

results matching ""

    No results matching ""