From 1bcdef072876987bde60755d9d7ba4b09e091861 Mon Sep 17 00:00:00 2001 From: Karamaz0V1 Date: Sat, 30 May 2020 18:39:46 +0200 Subject: [PATCH] Add CLI --- minigrida/supervisor.py | 17 +++++++++++++++-- requirements.txt | 1 + 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/minigrida/supervisor.py b/minigrida/supervisor.py index 00d9291..79ba4d7 100644 --- a/minigrida/supervisor.py +++ b/minigrida/supervisor.py @@ -19,10 +19,23 @@ from protocols.protocol import TestError import database from multiprocessing import Process import json +import argparse host = os.uname()[1] log = logging.getLogger('Supervisor [{}]'.format(host)) +parser = argparse.ArgumentParser(description='Run minigrida supervisor') +parser.add_argument('--conf', + metavar='config', + default='config.json', + type=str, + help='the path to the supervisor\'s config file.') +parser.add_argument('--cred', + metavar='credentials', + default='credentials.json', + type=str, + help='the path to the DB credentials file.') +args = parser.parse_args() def run(expe, hostpid=host): database.update_experiment(expe, @@ -70,7 +83,7 @@ def main(pid=None): log.name = 'Supervisor [{}]'.format(hostpid) log.info('Connecting to database') - database.connect('credentials.json') + database.connect(args.cred) while(True): if not database.pending_experiments(): @@ -94,7 +107,7 @@ if __name__ == '__main__': logger.setup_logging() log.info('Starting supervisor') try: - with open('config.json') as f: + with open(args.conf) as f: config = json.load(f) process_count = config['process_count'] except Exception as e: diff --git a/requirements.txt b/requirements.txt index 9e42cf5..ac63491 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,3 +2,4 @@ sklearn sap>=0.2.2 pony psycopg2 +pyyml