Пример #1
0
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()
Пример #2
0
# 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'])