def main(restart, retry, email, threads, verbose, debug, stages, base_logger): '''Run pG-lt''' # setup folder to hold pickled args temp_dir = os.path.join(os.getcwd(), 'tempfiles') if not os.path.isdir(temp_dir): os.mkdir(temp_dir) argspath = os.path.join(temp_dir, 'arguments.p') if restart: if not os.path.isfile(argspath): sys.exit('Cannot restart, are you sure you have already run \ pG-lt?') stools.logMessage('program-restart', logger=base_logger, retry=retry) with open(argspath, 'r') as file: nworkers, threads_per_worker, folders, email, threads, verbose,\ debug, stages = pickle.load(file) runner = Runner(folders=folders, nworkers=nworkers, stages=stages, threads_per_worker=threads_per_worker, wd=os.getcwd(), email=email, verbose=verbose, debug=debug, logger=base_logger, retry=retry) else: if verbose: stools.printHeader() # search cwd for folders that contain names and parameter files folders = stools.getFolders() # calculate nworkers nworkers, threads_per_worker, spare_threads =\ stools.calcWorkers(threads=threads, nfolders=len(folders)) # start message stools.logMessage('program-start', logger=base_logger, folders=folders, threads=threads_per_worker*nworkers, stages=stages, spare_threads=spare_threads, email=email) # setup runner base_logger.info('Setting up files and folders ....') runner = Runner(folders=folders, nworkers=nworkers, stages=stages, threads_per_worker=threads_per_worker, wd=os.getcwd(), email=email, verbose=verbose, debug=debug, logger=base_logger, retry=False) runner.setup() base_logger.info('Done.') # pickle runner for restart with open(argspath, 'w') as file: pickle.dump((nworkers, threads_per_worker, folders, email, threads, verbose, debug, stages), file) # run stages runner.run()
# Set up runner import os from pglt.tools.setup_tools import getDirs from pglt.tools.setup_tools import setUpLogging from pglt.tools.system_tools import Runner base_logger = setUpLogging(False, False) folders = getDirs(base_logger) runner = Runner(folders, 1, os.getcwd(), '*****@*****.**') runner.setup(folders) runner.run(folders, ['1'])