我有一个Python脚本,它应该并行地运行多个作业。我把最大进程设置为20个,但我需要脚本在发送作业之间睡眠5秒钟。 以下是我的示例代码。
#!/usr/bin/env python
import multiprocessing
import subprocess
def prcss(cmd):
sbc = subprocess.call
com = sbc(cmd, shell='True')
return (com)
if __name__=='__main__':
s = 'sleep 5'
cmd= []
for j in range(1,21):
for i in range(10):
sis = "nohup ~/mycodes/code > str(j)"+"/"+"out"+str(i)+".dat"
cmd.append(sis)
cmd.append(s)
pool=multiprocessing.Pool(processes=20)
pool.map(prcss,cmd)
虽然我在'sis'命令之间设置了sleep 5,但是当我运行我的脚本时,所有的工作都立即开始。我需要在'sis'命令之间设置睡眠,因为每个作业的输出都取决于计算机的时钟。因此,如果我运行20个作业,它们都以相同的系统时钟开始,因此它们都会有相同的输出。
有什么办法可以让我的脚本在'sis'命令之间进行休眠?