File indexing completed on 2026-04-09 07:58:21
0001 import uuid
0002 import subprocess
0003 import shlex
0004 import os
0005 import glob
0006
0007
0008 def runtasklocal(taskid, task_parameters):
0009 total_n_jobs = task_parameters['total_n_jobs']
0010 os.mkdir(taskid)
0011 print('evgen')
0012 for job in range(total_n_jobs):
0013 job_parameters = {
0014 'p1': task_parameters['p1'],
0015 'p2': task_parameters['p2'],
0016 'nevents': int(task_parameters['nevents'] / total_n_jobs),
0017 'outputfile': '{}/out{}.json'.format(taskid, str(job).zfill(5))
0018 }
0019 cmdline = 'python simplescript.py {p1} {p2} {nevents} {outputfile}'.format(
0020 **job_parameters
0021 )
0022 print('subjob {}'.format(job), job_parameters)
0023 print('> {}'.format(cmdline))
0024
0025 subprocess.check_call(shlex.split(cmdline))
0026
0027 merge_job_parameters = {
0028 'outputfile': '{}/merged.json'.format(taskid),
0029 'nevents': task_parameters['nevents'],
0030 'filelist': ' '.join(glob.glob('{}/out*.json'.format(taskid)))
0031 }
0032 cmdline = 'python merge.py {outputfile} {nevents} {filelist}'.format(**merge_job_parameters)
0033 print('merge', merge_job_parameters)
0034 print('> {}'.format(cmdline))
0035 subprocess.check_call(shlex.split(cmdline))
0036
0037
0038 if __name__ == '__main__':
0039
0040 task_parameters = {'p1': 0.5, 'p2': 0.5, 'nevents': 1000, 'total_n_jobs': 5}
0041
0042 taskid = 'task-' + str(uuid.uuid4()).split('-')[0]
0043 runtasklocal(taskid, task_parameters)