pyslurm:Slurm的python接口

目录

2018 年版本的 slurm-client 使用 squeue -o %all 获取 slurm 中的作业信息,基本可以获取所需要的信息,但无法获取作业的标准输出和标准错误输出文件路径。 squeue 的 -O 选项可以显示更多的信息,但必须指定每个栏目的宽度,不适合业务环境中路径长度变化较多的情况。 今年尝试使用 slurm 的 python 接口 pyslurm 解决这个问题。

安装

pyslurm 需要 cython 包和 slurm 库,使用 pip 安装 cython,使用源码安装 pyslurm。 安装 pyslurm 时,可以指定 slurm 库的位置。

python setup.py build \
  --slurm-lib=PATH_TO_SLURM_LIB \
  --slurm-inc=PATH_TO_SLURM_INC

使用

示例代码:

import pyslurm
job_object = pyslurm.job()
job_dict = job_object.get()

第二行返回一个 pyslurm.Job 对象,可以使用 get() 获取所有作业的信息,返回字典格式。 使用 std_out 就可以获取标准输出文件路径。

参考

slurm-client