需要注意几个点:
- cromwel在进行任务投递时,会构建一个临时的工作目录,用于存储任务的中间文件,因此,我们需要保证工作目录的权限和空间足够。
- cromwell存储每个任务的状态和任务间的逻辑关系,如果没有部署数据库,这部分信息会存储到内存中,因此如果没有部署数据库,需要确保内存足够支撑任务的运行,否则可能会出现内存爆掉的问题。
Run 模式投递
wdl本身有多种投递模式,其中最简单的是直接再前台进行任务的投递(run模式)
1 | java -Xms512m -Xmx1g \ |
这种模式,是直接进行单次的任务投递,执行简单无需额外的配置,但是在任务执行过程中,会占用前台的资源,如果任务复杂(task多)或并行的数据多,会导致内存爆掉。
因此,再非测试阶段,最好使用Server Mode进行任务的投递,将任务投递到后台进行执行。
Server Mode 投递
进行后台投递时候,我们首先需要启动一个后台服务
1 | nohup java -Xmx512m \ |
启动服务后,我们可以通过submit命令进行任务的投递
1 | outdir="Server_test" |