Esempio n. 1
0
 def get_run(self, run_id=None, run_number=None):
     assert [run_id, run_number].count(None) == 1
     if run_id is not None:
         return Run(self, run_id)
     runs = [r for r in self.get_all_runs() if r.run == str(run_number)]
     if len(runs) == 0:
         raise Sorry("Couldn't find run %s" % run_number)
     assert len(runs) == 1
     return runs[0]
Esempio n. 2
0
    def __init__(self, params, composite_tag=None, rank=0):
        super(DialsProcessorWithLogging,
              self).__init__(params, composite_tag, rank)
        self.tt_low = None
        self.tt_high = None
        if self.params.experiment_tag is None:
            return

        assert params.db.logging_batch_size >= 1

        from libtbx.mpi4py import MPI
        comm = MPI.COMM_WORLD

        self.queries = []
        self.rank = rank

        if comm.size > 1:
            if rank == 0:
                db_app = dxtbx_xfel_db_application(params,
                                                   cache_connection=False,
                                                   mode='cache_commits')
                run = db_app.get_run(run_number=self.params.input.run_num)
                run_id = run.id
                rund = run._db_dict
                trial = db_app.get_trial(trial_number=params.input.trial)
                trial_id = trial.id
                triald = trial._db_dict
            else:
                db_app = None
                run_id = None
                rund = None
                trial_id = None
                triald = None
            self.db_app, run_id, rund, trial_id, triald = comm.bcast(
                (db_app, run_id, rund, trial_id, triald), root=0)
            self.run = Run(self.db_app, run_id=run_id, **rund)
            self.trial = Trial(self.db_app, trial_id=trial_id, **triald)
        else:
            self.db_app = dxtbx_xfel_db_application(params,
                                                    cache_connection=False,
                                                    mode='cache_commits')
            self.run = self.db_app.get_run(
                run_number=self.params.input.run_num)
            self.trial = self.db_app.get_trial(trial_number=params.input.trial)
        self.n_strong = None
Esempio n. 3
0
 def create_run(self, **kwargs):
     return Run(self, **kwargs)