コード例 #1
0
class Manager:
    def __init__(self):
        self.client = docker.from_env(timeout=86400)
        self.preparer = Preparer()
        self.searcher = Searcher()
        self.trainer = Trainer()
        self.interactor = Interactor()
        self.generate_save_tag = lambda tag, save_id: hashlib.sha256(
            (tag + save_id).encode()).hexdigest()

    def set_preparer_config(self, preparer_config):
        self.preparer.set_config(preparer_config)

    def set_searcher_config(self, searcher_config):
        self.searcher.set_config(searcher_config)

    def set_trainer_config(self, trainer_config):
        self.trainer.set_config(trainer_config)

    def set_interactor_config(self, interactor_config):
        self.interactor.set_config(interactor_config)

    def prepare(self, preparer_config=None):
        if preparer_config:
            self.set_preparer_config(preparer_config)
        self.preparer.prepare(self.client, COLLECTION_PATH_GUEST,
                              self.generate_save_tag)

    def search(self, searcher_config=None):
        if searcher_config:
            self.set_searcher_config(searcher_config)
        self.searcher.search(self.client, OUTPUT_PATH_GUEST, TOPIC_PATH_HOST,
                             TOPIC_PATH_GUEST, TEST_SPLIT_PATH_GUEST,
                             self.generate_save_tag)

    def train(self, trainer_config=None):
        if trainer_config:
            self.set_trainer_config(trainer_config)
        self.trainer.train(self.client, TOPIC_PATH_GUEST,
                           TEST_SPLIT_PATH_GUEST, VALIDATION_SPLIT_PATH_GUEST,
                           self.generate_save_tag)

    def interact(self, interactor_config=None):
        if interactor_config:
            self.set_interactor_config(interactor_config)
        self.interactor.interact(self.client, self.generate_save_tag)
コード例 #2
0
ファイル: host_backup.py プロジェクト: bigbes/xb-mgr
    def prepare_backup(self, host, backup_type, backup_dir, prepare_dir, logger):
        prepare_obj = Preparer(host=host, 
                                backup_type=backup_type,
                                backup_dir=backup_dir,
                                prepare_dir=prepare_dir,
				logger=logger)
        prepare_obj.setup()

        return prepare_obj.prepare()
コード例 #3
0
    def prepare_backup(self, host, backup_type, backup_dir, prepare_dir,
                       logger):
        prepare_obj = Preparer(host=host,
                               backup_type=backup_type,
                               backup_dir=backup_dir,
                               prepare_dir=prepare_dir,
                               logger=logger)
        prepare_obj.setup()

        return prepare_obj.prepare()
コード例 #4
0
ファイル: threaded_host_backup.py プロジェクト: bigbes/xb-mgr
    def prepare_backup(self, host, backup_type, backup_dir, prepare_dir, logger):
        prepare_obj = Preparer(host=host, 
                                backup_type=backup_type,
                                backup_dir=backup_dir,
                                prepare_dir=prepare_dir,
				logger=logger)

        backup_lock.acquire()
        try:
            prepare_obj.setup()
        finally:
            backup_lock.release()

        return prepare_obj.prepare()
コード例 #5
0
    def prepare_backup(self, host, backup_type, backup_dir, prepare_dir,
                       logger):
        prepare_obj = Preparer(host=host,
                               backup_type=backup_type,
                               backup_dir=backup_dir,
                               prepare_dir=prepare_dir,
                               logger=logger)

        backup_lock.acquire()
        try:
            prepare_obj.setup()
        finally:
            backup_lock.release()

        return prepare_obj.prepare()