add scan retries to getting data

This commit is contained in:
UpstreamData
2022-05-06 13:51:20 -06:00
parent d90bf190c5
commit 3bc9287668
4 changed files with 27 additions and 6 deletions

View File

@@ -1,6 +1,7 @@
from API.bmminer import BMMinerAPI
from miners import BaseMiner
import logging
from settings import MINER_FACTORY_GET_VERSION_RETRIES as DATA_RETRIES
class BMMiner(BaseMiner):
@@ -143,7 +144,12 @@ class BMMiner(BaseMiner):
if hostname:
data["Hostname"] = hostname
miner_data = await self.api.multicommand("summary", "pools", "stats")
miner_data = None
for i in range(DATA_RETRIES):
miner_data = await self.api.multicommand("summary", "pools", "stats")
if miner_data:
break
if not miner_data:
return data

View File

@@ -3,6 +3,7 @@ from API.bosminer import BOSMinerAPI
import toml
from config.bos import bos_config_convert, general_config_convert_bos
import logging
from settings import MINER_FACTORY_GET_VERSION_RETRIES as DATA_RETRIES
class BOSMiner(BaseMiner):
@@ -256,9 +257,13 @@ class BOSMiner(BaseMiner):
if hostname:
data["Hostname"] = hostname
miner_data = await self.api.multicommand(
"summary", "temps", "tunerstatus", "pools"
)
miner_data = None
for i in range(DATA_RETRIES):
miner_data = await self.api.multicommand(
"summary", "temps", "tunerstatus", "pools"
)
if miner_data:
break
if not miner_data:
return data
summary = miner_data.get("summary")[0]

View File

@@ -2,6 +2,7 @@ from API.btminer import BTMinerAPI
from miners import BaseMiner
from API import APIError
import logging
from settings import MINER_FACTORY_GET_VERSION_RETRIES as DATA_RETRIES
class BTMiner(BaseMiner):
@@ -98,8 +99,12 @@ class BTMiner(BaseMiner):
if hostname:
data["Hostname"] = hostname
miner_data = None
for i in range(DATA_RETRIES):
miner_data = await self.api.multicommand("summary", "devs", "pools")
if miner_data:
break
miner_data = await self.api.multicommand("summary", "devs", "pools")
if not miner_data:
return data

View File

@@ -1,6 +1,7 @@
from miners import BaseMiner
from API.cgminer import CGMinerAPI
from API import APIError
from settings import MINER_FACTORY_GET_VERSION_RETRIES as DATA_RETRIES
class CGMiner(BaseMiner):
@@ -117,8 +118,12 @@ class CGMiner(BaseMiner):
if hostname:
data["Hostname"] = hostname
miner_data = None
for i in range(DATA_RETRIES):
miner_data = await self.api.multicommand("summary", "pools", "stats")
if miner_data:
break
miner_data = await self.api.multicommand("summary", "pools", "stats")
if not miner_data:
return data