예제 #1
0
    def onVarsSend(self):
        scenario_file_path = path.join(environ['EXPERIMENT_DIR'],
                                       self.scenario_file)
        self.scenario_runner = ScenarioRunner(scenario_file_path)

        t1 = time()
        self.scenario_runner._read_scenario(scenario_file_path)
        self._logger.debug('Took %.2f to read scenario file', time() - t1)
예제 #2
0
    def startExperiment(self):
        msg("Starting dummy scenario experiment")
        scenario_file_path = path.join(environ['EXPERIMENT_DIR'],
                                       self.scenario_file)

        self.scenario_runner = ScenarioRunner(scenario_file_path,
                                              int(self.my_id))
        # TODO(emilon): Auto-register this stuff
        self.scenario_runner.register(self.echo)
        self.scenario_runner.register(self.online)
        self.scenario_runner.register(self.offline)
        self.scenario_runner.register(self.set_community_kwarg)
        self.scenario_runner.register(self.set_database_file)
        self.scenario_runner.register(self.use_memory_database)
        self.scenario_runner.register(self.set_ignore_exceptions)
        self.scenario_runner.register(self.start_dispersy)
        self.scenario_runner.register(self.stop_dispersy)
        self.scenario_runner.register(self.stop)
        self.scenario_runner.register(self.set_master_member)
        self.scenario_runner.register(self.reset_dispersy_statistics,
                                      'reset_dispersy_statistics')
        self.scenario_runner.register(self.annotate)
        self.scenario_runner.register(self.peertype)

        # TODO(emilon): Move this to the right place
        # TODO(emilon): Do we want to have the .dbs in the output dirs or should they be dumped to /tmp?
        my_dir = path.join(environ['OUTPUT_DIR'], self.my_id)
        makedirs(my_dir)
        chdir(my_dir)
        self._stats_file = open("statistics.log", 'w')

        # TODO(emilon): Fix me or kill me
        try:
            symlink(
                path.join(environ['PROJECT_DIR'], 'tribler',
                          'bootstraptribler.txt'), 'bootstraptribler.txt')
        except OSError:
            pass

        self.registerCallbacks()

        self.scenario_runner.run()