2016-06-17 84 views
2

我正在使用Python drmaa庫在SGE羣集上啓動作業。我的服務在REST API上可用,在我的測試期間,所有工作都正常,作業已提交/等待完成/完成後檢索結果。進程在同一個drmaa會話中運行一次。SGE DRMAA python作業流程

在我的網頁界面,作業不被處理: - 作業提交 - 工作在上海黃金交易所推出的 - 在其他時間的工作狀態(通過對drmaa.session.jobStatus調用(的jobId)

每次我跑進程獲得工作狀態,我得到'由'jobid'指定的工作不存在'

我想這是因爲我沒有在同一個drmaa會話中運行「提交」和「狀態」請求

有沒有辦法從另一個會話中獲得工作狀態?

Thnxs。

+0

這將是有益的,如果你包括一個具體的例子,你正試圖完成。另外,與[DRMAA]相比,我使用[saga-python](https://github.com/radical-cybertools/saga-python)獲得了更好的結果。這裏是一個[快速教程](http://saga-python.readthedocs.io/en/latest/tutorial/index.html),你可以嘗試看看它是否適合你。 – ostrokach

+0

Thanxs爲您的答覆,我會嘗試saga-python :-)。以一段代碼作爲示例並不容易,因爲我的源代碼依賴於galaxyproject drmaa庫。無論如何,我認爲這個問題與我的SGE本地配置更相關,因爲手動運行qstat給了我相同的答案。 – marcoooo

回答

0

我終於找到了爲什麼這是行不通的:用seg'上的'qstat'方法無法再訪問完成的作業(我猜這是通過drmaa庫詢問作業狀態時執行的底層命令)。一些工作正在與drmaav2 for sge似乎解決問題(efficient way to wait for job completion : python and drmaa

+0

您可以使用'qacct -j {job_id}'獲取已完成作業的狀態。 – ostrokach