首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获得具有DRMAA接口的运行作业主机

获得具有DRMAA接口的运行作业主机
EN

Stack Overflow用户
提问于 2016-10-13 14:33:46
回答 1查看 134关注 0票数 0

使用DRMAA接口到Grid之子,我希望获得运行特定作业的主机的名称。我想要下面这样的内容(使用drmaa-python接口)

代码语言:javascript
复制
>>> import drmaa
>>> s = drmaa.Session()
>>> s.initialize()

>>> jt = s.createJobTemplate()
>>> jt.remoteCommand = 'sleep'
>>> jt.args = ['100']

>>> jobid = s.runJob(jt)
>>> jobid
'1'
>>> s.jobStatus(jobid)
'running'

>>> s.the_function_I_want(jobid)
'worker-host-123'

问题

  1. 这有可能通过DRMAA接口吗?看了看规格,似乎没有,但我想我还是会问
  2. 如果是这样的话,是怎么做的?
EN

回答 1

Stack Overflow用户

发布于 2017-03-01 21:33:34

简短的回答:你是对的,这是不可能的。

较长的答覆:

drmaa-python库充当DRMAAv1 API的底层C实现的包装器(参见https://www.ogf.org/documents/GFD.130.pdf)。这样的C库通常与集群框架一起使用。DRMAAv1不支持对作业的标准化监视,因此DRMAAv1 C和DRMAAv1库都无法获得这些信息。

如果您想知道缺乏功能,请注意,最初的API设计是从2004年开始的。

第二个版本的DRMAA (https://www.ogf.org/documents/GFD.231.pdf)确实支持监视。在编写本文时,惟一已知的实现是Univa GridEngine,而且它没有现有的Python实现。

您可以尝试自己解析作业日志文件,以提取执行主机名。如果需要将获取此类文件的特殊选项传递给qsub,则可以在作业模板中使用nativeSpecification字段。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40023959

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档