diff --git a/3_job_array/job_array_task copy.py b/3_job_array/job_array_task copy.py deleted file mode 100644 index e8886182e07db99decbdad2dbaf2c85d3fb4be24..0000000000000000000000000000000000000000 --- a/3_job_array/job_array_task copy.py +++ /dev/null @@ -1,55 +0,0 @@ -from datetime import datetime -from multiprocessing import Pool - -import json -import logging -import os -import sys -import time - -logger = logging.getLogger(__name__) - -def sleep(input): - time.sleep(input[1]) - logger.info('Task %d done.',input[0]) - -def main(filename: str): - # Read environment variables. - NUMBER_OF_CORES = os.environ.get('SLURM_CPUS_PER_TASK','Unknown') - if NUMBER_OF_CORES in 'Unknown': - logger.error('Unkown number of cores, exiting.') - return - - NUMBER_OF_CORES = int(NUMBER_OF_CORES) - logger.info('Running program with %d cores.',NUMBER_OF_CORES) - - # Reading configuration file and create a list of tasks - # This represents the reading of parameters and calculations - logger.info('Reading configuration from %s.',filename) - with open(filename, 'r') as file: - data = json.load(file) - - tasks = [] - total_time = 0 - for i in range(len(data['sleep'])): - time = data['sleep'][i] - tasks.append((i, time)) - total_time = total_time + time - - # Creating a multiprocessing pool to perform the tasks - pool = Pool(processes=NUMBER_OF_CORES) - - # Running submitting the tasks to the worker pool - tic = datetime.now() - logger.info('Submitting tasks to pool.') - pool.map(sleep, tasks) - toc = datetime.now() - - logger.info('All tasks are done, took %d seconds, compared to %d seconds with single thread.', - (toc-tic).seconds, total_time) - - -if __name__ == '__main__': - logging.basicConfig(level=logging.INFO) - filename = sys.argv[1] - main(filename)