Exemple #1
0
 def build_matrices(self):
     associate_matrices_with_experiment(
         self.experiment_hash,
         self.matrix_build_tasks.keys(),
         self.db_engine
     )
     self.process_matrix_build_tasks(self.matrix_build_tasks)
Exemple #2
0
 def build_matrices(self):
     associate_matrices_with_experiment(self.experiment_hash,
                                        self.matrix_build_tasks.keys(),
                                        self.db_engine)
     with self.get_for_update() as experiment:
         experiment.matrices_needed = len(self.matrix_build_tasks.keys())
     record_matrix_building_started(self.run_id, self.db_engine)
     self.process_matrix_build_tasks(self.matrix_build_tasks)
Exemple #3
0
 def build_matrices(self):
     associate_matrices_with_experiment(
         self.experiment_hash, self.matrix_build_tasks.keys(), self.db_engine
     )
     logger.info("Building matrices")
     logger.verbose(
         f"It is necessary to build {len(self.matrix_build_tasks.keys())} matrices"
     )
     with self.get_for_update() as experiment:
         experiment.matrices_needed = len(self.matrix_build_tasks.keys())
     record_matrix_building_started(self.run_id, self.db_engine)
     self.process_matrix_build_tasks(self.matrix_build_tasks)
     logger.success(
         f"Matrices were stored in {self.project_path}/matrices successfully"
     )
Exemple #4
0
def test_missing_matrix_uuids():
    with testing.postgresql.Postgresql() as postgresql:
        db_engine = create_engine(postgresql.url())
        ensure_db(db_engine)

        experiment_hash = save_experiment_and_get_hash({}, 1234, db_engine)
        matrix_uuids = ['abcd', 'bcde', 'cdef']

        # if we associate matrix uuids with an experiment but don't actually build the matrices
        # they should show up as missing
        associate_matrices_with_experiment(experiment_hash, matrix_uuids, db_engine)
        assert missing_matrix_uuids(experiment_hash, db_engine) == matrix_uuids

        # if we insert a matrix row they should no longer be considered missing
        db_engine.execute(
            f"insert into {Matrix.__table__.fullname} (matrix_uuid) values (%s)",
            matrix_uuids[0]
        )
        assert missing_matrix_uuids(experiment_hash, db_engine) == matrix_uuids[1:]