changed MinerFactory to a singleton class to ensure clearing its cache is easier and removed creation of independant miner factories for each utility

This commit is contained in:
UpstreamData
2022-03-16 12:05:44 -06:00
parent 57bd606f21
commit bae2ee4245
12 changed files with 37 additions and 49 deletions

View File

@@ -1,6 +1,6 @@
import asyncio
from tools.web_monitor.miner_factory import miner_factory
from miners.miner_factory import MinerFactory
from tools.web_monitor._settings.func import get_current_settings
@@ -11,7 +11,7 @@ async def get_miner_data_dashboard(miner_ip):
miner_data_timeout = settings["miner_data_timeout"]
miner_ip = await asyncio.wait_for(
miner_factory.get_miner(miner_ip),
MinerFactory().get_miner(miner_ip),
miner_identify_timeout
)

View File

@@ -4,7 +4,7 @@ import datetime
import websockets.exceptions
from fastapi import WebSocket, WebSocketDisconnect, APIRouter
from tools.web_monitor.miner_factory import miner_factory
from miners.miner_factory import MinerFactory
from tools.web_monitor._settings.func import get_current_settings
@@ -22,7 +22,7 @@ async def miner_websocket(websocket: WebSocket, miner_ip):
while True:
try:
cur_miner = await asyncio.wait_for(
miner_factory.get_miner(str(miner_ip)),
MinerFactory().get_miner(str(miner_ip)),
miner_identify_timeout
)

View File

@@ -1,7 +0,0 @@
"""
This file stores the MinerFactory instance used by the WebMonitor for use in other files.
"""
from miners.miner_factory import MinerFactory
miner_factory = MinerFactory()

View File

@@ -4,7 +4,7 @@ from fastapi import WebSocket
from network import MinerNetwork
from tools.web_monitor.func import get_current_miner_list
from tools.web_monitor.miner_factory import miner_factory
from miners.miner_factory import MinerFactory
async def do_websocket_scan(websocket: WebSocket, network_ip: str):
@@ -21,7 +21,7 @@ async def do_websocket_scan(websocket: WebSocket, network_ip: str):
if miner_ip and str(miner_ip) not in cur_miners:
miners.append(miner_ip)
get_miner_generator = miner_factory.get_miner_generator(miners)
get_miner_generator = MinerFactory().get_miner_generator(miners)
all_miners = []
async for found_miner in get_miner_generator:
all_miners.append(