我有一个python脚本,它对输入文件执行一些操作,然后使用qsub提交一个新作业。
一旦这个新提交的作业完成,我想再次运行python脚本。因此,基本上,这个python脚本的运行必须链接到上一个作业的运行,该作业是python脚本本身提交的。
用代码术语进行总结。我进入父目录并键入:
./python_script.py
python脚本的结构如下(在现实中要复杂得多):
def Main():
subdirectory = IdentifySubDirectory()
os.chdir(subdirectory)
EditInputFile()
qsub jobscript.sh
os.chdir(parentdirectory)
我如何使用我的python脚本和jobscript来实现这一点?
以前我一直在使用crontab并每x小时运行一次,但这是一种非常不令人满意的情况,因为每个模拟运行所需的时间不同,导致了大量的停滞时间。
感谢您的帮助
如果这是TORQUE,则可以使用作业依赖关系来获取所描述的行为。这里记录了作业依赖性提交,只需在dependent一词上查找即可。
重新提交作业脚本:
jobscript.bash:
#!/bin/bash
cd $PBS_O_WORKDIR
./pythonscript.py
qsub -N reiterateSim jobscript.bash