Skip to content
Snippets Groups Projects
Commit 7dc8e7f3 authored by Martin Beyer's avatar Martin Beyer Committed by Florian Uhlig
Browse files

Rich: bugfix in batch file passing boolean

parent f83c6e25
No related branches found
No related tags found
1 merge request!1601Rich: bugfix in batch file passing boolean
Pipeline #27321 passed
......@@ -11,7 +11,7 @@ jobId = os.environ.get('SLURM_ARRAY_JOB_ID')
workDir = dataDir + "/workdir/" + jobId + "_" + taskId + "/"
if os.path.exists(workDir):
shutil.rmtree(workDir)
shutil.rmtree(workDir)
os.makedirs(workDir)
os.chdir(workDir)
......
......@@ -6,7 +6,7 @@ import argparse
parser = argparse.ArgumentParser()
parser.description = 'Submit jobs to slurm. Change input parameters for transport/digitization/reconstruction/qa in batch_job.py'
parser.add_argument('-r', '--remove', dest='removeData', type=bool, default=True, help='Remove all data in directory given by -d / --data')
parser.add_argument('-r', '--remove', dest='removeData', default=False, action='store_true', help='Flag to remove all data in directory given by -d / --data')
parser.add_argument('-j', '--jobs', dest='nJobs', type=int, required=True, help='Number of jobs')
parser.add_argument('-c', '--config', dest='configPath', type=str, required=True, help='Path of cbmroot config file')
parser.add_argument('-d', '--data', dest='dataDir', type=str, required=True, help='Data directory to store tra/digi/reco etc. files')
......@@ -31,19 +31,24 @@ logFile = dataDir + "/log/log_slurm-%A_%a.out"
errorFile = dataDir + "/error/error_slurm-%A_%a.out"
if removeData:
print(f'\nAll data in {dataDir} will be removed.')
answer = input(f'\nAll data in {dataDir} will be removed. Continue? (y/n): ')
if answer.lower() in ['y','yes']:
print("Removing ...")
if os.path.exists(dataDir):
shutil.rmtree(dataDir)
os.makedirs(dataDir)
shutil.rmtree(dataDir)
print("Done removing.")
else:
print("Aborting ...")
exit(0)
os.makedirs(dataDir, exist_ok=True)
if os.path.exists(os.path.dirname(logFile)):
shutil.rmtree(os.path.dirname(logFile))
shutil.rmtree(os.path.dirname(logFile))
os.makedirs(os.path.dirname(logFile))
if os.path.exists(os.path.dirname(errorFile)):
shutil.rmtree(os.path.dirname(errorFile))
shutil.rmtree(os.path.dirname(errorFile))
os.makedirs(os.path.dirname(errorFile))
commandStr = f'sbatch --job-name={jobName} --time={timeLimit} --output={logFile} --error={errorFile} --array=1-{nJobs} batch_job.py {dataDir} {configPath}'
......
......@@ -6,7 +6,7 @@ import argparse
parser = argparse.ArgumentParser()
parser.description = 'Run jobs locally in parallel. Change input parameters for transport/digitization/reconstruction/qa in run_one.py'
parser.add_argument('-r', '--remove', dest='removeData', type=bool, default=True, help='Remove all data in directory given by -d / --data')
parser.add_argument('-r', '--remove', dest='removeData', default=False, action='store_true', help='Flag to remove all data in directory given by -d / --data')
parser.add_argument('-j', '--jobs', dest='nJobs', type=int, default=4, help='Number of jobs')
parser.add_argument('-c', '--config', dest='configPath', type=str, required=True, help='Path of cbmroot config file')
parser.add_argument('-d', '--data', dest='dataDir', type=str, required=True, help='Data directory to store tra/digi/reco etc. files')
......@@ -26,19 +26,24 @@ dataDir = (args.dataDir).rstrip("/")
logDir = dataDir + "/logs"
if removeData:
print(f'\nAll data in {dataDir} will be removed.')
answer = input(f'\nAll data in {dataDir} will be removed. Continue? (y/n): ')
if answer.lower() in ['y','yes']:
print("Removing ...")
if os.path.exists(dataDir):
shutil.rmtree(dataDir)
os.makedirs(dataDir)
shutil.rmtree(dataDir)
print("Done removing.")
else:
print("Aborting ...")
exit(0)
os.makedirs(dataDir, exist_ok=True)
if os.path.exists(logDir):
shutil.rmtree(logDir)
shutil.rmtree(logDir)
os.makedirs(logDir)
print("\n--- Executing commands ---")
for taskId in range(nJobs):
commandStr = (f'python3 run_one.py {args.dataDir} {args.configPath} {taskId} > {dataDir}/logs/output{taskId}.txt 2>&1 &')
print(commandStr)
os.system(commandStr)
commandStr = (f'python3 run_one.py {args.dataDir} {args.configPath} {taskId} > {dataDir}/logs/output{taskId}.txt 2>&1 &')
print(commandStr)
os.system(commandStr)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment