本文介绍了等待工作完成的有效方法:python和drmaa的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想问一下我正在通过Python使用的drmaa API中的等待"功能.它是否执行常数qstat(如果我们正在SGE上运行它)来检查程序是否已完成执行.

I wanted to ask about "wait" feature in drmaa API I am using through Python. Does it do constant qstat's ( if we are running it on SGE) to check whether a program has finished execution.

我们的管理员希望我们避免使用任何恒定的qstat,因为由于调度程序上的额外负载,它会降低性能.

Our admin want us to avoid any constant qstat's as it slows down the performance due to extra load on scheduler.

通常,wat是通过DRMAA检查作业状态的有效方法,而不会增加调度程序的负担.

In general wat would be an efficient way to check for job status through DRMAA without overboarding the scheduler.

谢谢!-阿比

推荐答案

从DRMAA API的角度来看,没有更好的方法.该API只是反映了您可以使用默认命令行工具在Shell脚本中执行的操作.

From an DRMAA API point of view, there is no better way. The API simply reflects what you are able to do in a shell script with the default command-line tools.

问题出在特定DRMAA库的实施策略上,因为SGE提供的方法比持续轮询来获取作业状态更新的方法更好.因此,您有以下选择:

The problem lies in the implementation strategy of your particular DRMAA library, since SGE offers better ways than constant polling to get job status updates.You therefore have the following options:

  • 修复依赖于与调度程序直接通信的DRMAA实现.有线协议的一种信息来源可能是Open Grid Scheduler项目.
  • 等到Univa(或其他公司)为其Grid Engine产品提供DRMAAv2实现.此版本的API支持有关作业状态更改的库回调(http://ogf.org/documents/GFD.198.pdf),这似乎正是您想要的.

这篇关于等待工作完成的有效方法:python和drmaa的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

05-25 06:38