ecFlow学习笔记02.2.4 —— 检查job生成

目录

该教程的最新版已发布在GitHub上,请访问ecflow-tutorial-cn

这是 ecFlow 教程的一部分,完整教程请参看《ecFlow学习笔记02 —— 教程

    • *前面章节我们已经实现第一个task(t1.ecf 文件)。t1.ecf 脚本需要经过预处理生成 jobs file。这个过程由 ecflow_server 在将要运行 task 时自动完成。

我们还可以在 suite definition 加载到 ecflow_server 前检查 job creation。

文本方式

检查脚本生成仅在Python方式下可用。
如果 ecflow_server 无法定位 ecf script,请参看 ecf file locaiton algorithm

Python

在 suite 定义加载到服务器前可以检查作业生成过程,检查包括:

  1. 定位 ecf 脚本文件,对应 suite 定义中的每个 task
  2. 进行预处理

当 suite definition 较长且包含许多 ecf script 时,这种检查可以节省大量时间。
检查 job creation 时需要注意一下几点:

  1. 检查独立于 ecflow_server,所以 ECF_PORT 和 ECF_NODE 将被设为默认值。
  2. job 文件扩展名为 .job0,服务器生成的job文件扩展名为 job<1-n>,ECF_TRYNO将不为0.
  3. 默认 job 文件将在 ecf 脚本同样目录下生成,请查看词汇表 ECF_JOB。

使用 ecflow.Defs.check_job_creation 进行检查,修改 test.py

运行上述脚本后,会在 test 目录下生成的t1.job0,文件内容如下:

强烈建议随后的例子中使用 job creation 检查

任务

添加 job creation 检查
查看job文件 $HOME/course/test/t1.job0

词汇表

ECF_TRYNO
ECF_JOB