diff options
Diffstat (limited to 'utils/submit-grid-jobs')
-rwxr-xr-x | utils/submit-grid-jobs | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/utils/submit-grid-jobs b/utils/submit-grid-jobs index dbbeb6f..670172d 100755 --- a/utils/submit-grid-jobs +++ b/utils/submit-grid-jobs @@ -106,7 +106,7 @@ def submit_job(filename, run, gtid, dir, dqxx_dir, min_nhit, max_particles): if __name__ == '__main__': import argparse - from subprocess import check_output + import subprocess import os parser = argparse.ArgumentParser("submit grid jobs") @@ -153,19 +153,20 @@ if __name__ == '__main__': with open(os.devnull, 'w') as f: if args.skip_second_event: - output = check_output([join(args.dir,"zdab-cat"),"--skip-second-event",filename],stderr=f) + popen = subprocess.Popen([join(args.dir,"zdab-cat"),"--skip-second-event",filename],stdout=subprocess.PIPE,stderr=f) else: - output = check_output([join(args.dir,"zdab-cat"),filename],stderr=f) - - data = yaml.load(output,Loader=Loader) + popen = subprocess.Popen([join(args.dir,"zdab-cat"),filename],stdout=subprocess.PIPE,stderr=f) new_dir = "%s_%s" % (root,ID.hex) os.mkdir(new_dir) os.chdir(new_dir) - for i, event in enumerate(data['data']): - for ev in event['ev']: + for data in yaml.load_all(popen.stdout,Loader=Loader): + if 'ev' not in data: + continue + + for ev in data['ev']: run = ev['run'] gtid = ev['gtid'] nhit = ev['nhit'] @@ -173,6 +174,8 @@ if __name__ == '__main__': if nhit >= args.min_nhit: submit_job(filename, run, gtid, args.dir, args.dqxx_dir, args.min_nhit, args.max_particles) + popen.wait() + state.append(tail) with open(args.state,"w") as f: |