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 定义加载到服务器前可以检查作业生成过程,检查包括:
- 定位 ecf 脚本文件,对应 suite 定义中的每个 task
- 进行预处理
当 suite definition 较长且包含许多 ecf script 时,这种检查可以节省大量时间。
检查 job creation 时需要注意一下几点:
- 检查独立于 ecflow_server,所以 ECF_PORT 和 ECF_NODE 将被设为默认值。
- job 文件扩展名为 .job0,服务器生成的job文件扩展名为 job<1-n>,ECF_TRYNO将不为0.
- 默认 job 文件将在 ecf 脚本同样目录下生成,请查看词汇表 ECF_JOB。
使用 ecflow.Defs.check_job_creation 进行检查,修改 test.py
运行上述脚本后,会在 test 目录下生成的t1.job0,文件内容如下:
强烈建议随后的例子中使用 job creation 检查
任务
添加 job creation 检查
查看job文件 $HOME/course/test/t1.job0