def run(self): # Initialize miners. stratums = None while stratums is None: try: payrates = nicehash.simplemultialgo_info(self._settings) stratums = nicehash.stratums(self._settings) except Exception as err: logging.warning( f'NiceHash stats: {err}, retrying in 5 seconds') time.sleep(5) else: self._payrates = payrates self._miners = [miner(main.CONFIG_DIR) for miner in all_miners] for miner in self._miners: miner.settings = self._settings miner.stratums = stratums self._algorithms = sum([miner.algorithms for miner in self._miners], []) # Initialize profit-switching. self._profit_switch = NaiveSwitcher(self._settings) self._profit_switch.reset() self._scheduler.enter(0, MiningThread.PROFIT_PRIORITY, self._switch_algos) self._scheduler.enter(0, MiningThread.STATUS_PRIORITY, self._read_status) self._scheduler.run()
def run(self): # Initialize miners. logging.info('Querying NiceHash for miner connection information...') payrates = stratums = None while payrates is None: try: payrates = nicehash.simplemultialgo_info(self._settings) stratums = nicehash.stratums(self._settings) except Exception as err: logging.warning( f'NiceHash stats: {err}, retrying in 5 seconds') time.sleep(5) else: self._payrates = (payrates, datetime.now()) for miner in self._miners: miner.stratums = stratums miner.load() self._algorithms = sum([miner.algorithms for miner in self._miners], []) # Initialize profit-switching. self._profit_switch = NaiveSwitcher(self._settings) self._profit_switch.reset() self._scheduler.enter(0, MiningSession.PROFIT_PRIORITY, self._switch_algos) self._scheduler.run()
def test_stratum(self): stratums = nh.stratums(self.settings) self.assertIn('cryptonight.eu.nicehash.com', stratums['cryptonight'])