Achelous 作业管理工具
作为针对生物信息使用需求开发的作业管理平台,Achelous 为使用者提供了强大的作业管理功能。下面将向用户展示作业管理中基本概念,以及常规操作。
作业管理的基本概念
job-id : 对于多用户环境下,Achelous 会为每个投递的任务分配一个ID,其构成为32位字符。此id为作业的唯一标识。用户对于作业的状态查询,暂停,修改权限等操作,均需要以job-id为依据。注意:截取job-id的一部分,如果其唯一,则也可以进行相应的作用
job-name : 用户可为自己提交的作业任意命名,作业名称不具有查询效果
task-id : 由于job 中存在多个task 。因此,Achelous 中每个task 也有相应的ID 。但task-id 一般不能直接使用,需要通过结合job-id 进行查询。
作业优先级 : 作业优先级与Linux 中进程优先级类似。其取值为 0 - 10 ,数值越大,对应的优先级越高。在计算资源有限的情况下,优先级高的任务会先被执行。
使用Achelous 提交作业
用户可通过下面的命令进行作业提交。
biocli job submit [job.json]
其中
- job.json 为作业文件,其中记录了作业相关信息,包括作业名称、作业使用的Pipeline 、作业描述、作业相关输入及参数、优先级等信息,其格式如下:
{
"Name" : "My_first_WDL_job",
"Pipeline" : "demo_pipeline",
"InputDataSet" : {
"WorkflowInput" : {
"fastqtobam.fastq1" : "",
"fastqtobam.fastq2" : "",
"fastqtobam.ref" : ""
}
},
"Priority" : 7
}
作业正确提交后会返回作业的job-id,用于后续对此作业的操作。例如:
[xtao01@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 status [job-id] [-d]
其中:
- job-id 为提交作业的作业id
- -d 为开关选项,添加 -d 可列出任务详细信息。
例如:
[xtao01@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: xtao01
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 cancel [job-id]
其中:
- job-id 为提交作业的作业id
例如:
[xtao01@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),那么这些任务并不会停止,而是继续执行,但作业中未被投递的任务,将暂时不再投递。
例如:
[xtao01@Cc1Xtcls]$ biocli job pause b5d0d361
Successfully pause job b5d0d361-04e2-4ecf-6274-594f7e9052c5
使用Achelous 恢复暂停状态中的作业
用户可以通过以下命令恢复暂停状态的作业。
biocli job resume [job-id]
- job-id 为需要恢复的作业的job-id
例如:
[uec@Cc1Xtcls vcf-filter]$ biocli job resume b5d0d361
Successfully resume job b5d0d361-04e2-4ecf-6274-594f7e9052c5
使用Achelous 恢复失败状态的作业
用户可以通过以下命令恢复暂停状态中的作业。
biocli job recover -i [job-id]
关于作业失败后恢复更详细说明,请参见这篇内容
使用Achelous 重新设定优先级
用户可以通过以下命令调整作业的优先级
biocli job setpri [job-id] [priority]
- job-id 为需要调整优先级的作业 job-id priority 为优先级数值,取值范围为 0 到 10之间的整数。数值越高,优先级越高 例如:
[xtao01@Cc1Xtcls]$ biocli job setpri b5d0d361 8
Successfully update job b5d0d361-04e2-4ecf-6274-594f7e9052c5 priority to 8