簡體   English   中英

使用Python子進程運行SLURM腳本以將多個長作業提交到隊列中,並在繼續python腳本之前等待作業完成

[英]Using Python subprocess to run SLURM script to submit multiple long jobs to queue and waiting for jobs to finish before continuing python script

這種情況的基本原理是,我正在使用Python的subprocess進程模塊運行SLURM腳本,該腳本將許多作業提交到我使用的某些HPC資源上的隊列中。 我希望Python腳本等待所有提交的作業完成。 我嘗試這樣做:

proc = subprocess.Popen(['sbatch slurm.sh'],shell=True)
proc.wait()

但是,它僅等待作業提交,而不等待所有作業完成。 有人對如何進行這項工作有任何建議嗎?

注意:我曾經有一個想法可能是讓子進程以某種方式與SLURM腳本生成的.out文件進行通信(並等待它完成編輯工作?),但是我不確定這將如何工作。

感謝您的任何想法!

使用python庫與Slurm交互,例如

並且您將能夠以非常簡單的方式來管理slurm作業。

我最近研究了slurm,並使用sbatch的-W或--wait參數使sbatch命令首先完成其執行,然后執行python代碼。 像這樣的sbatch -W slurm.sh

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM