This commit is contained in:
Stefan Allius
2024-10-13 19:45:11 +02:00
9 changed files with 16 additions and 16 deletions

View File

@@ -306,10 +306,6 @@ class AsyncStream(AsyncIfcImpl):
f"Fwd Exception for {self.r_addr}:\n"
f"{traceback.format_exc()}")
def __del__(self):
logger.info(
f"AsyncStream.__del__ l{self.l_addr} | r{self.r_addr}")
class AsyncStreamServer(AsyncStream):
def __init__(self, reader: StreamReader, writer: StreamWriter,

View File

@@ -1,5 +1,4 @@
from asyncio import StreamReader, StreamWriter
if __name__ == "app.src.gen3.inverter_g3":
from app.src.inverter_base import InverterBase
from app.src.gen3.talent import Talent

View File

@@ -3,6 +3,7 @@ import asyncio
import logging
import traceback
import json
import gc
from aiomqtt import MqttCodeError
from asyncio import StreamReader, StreamWriter
@@ -59,8 +60,10 @@ class InverterBase(InverterIfc, Proxy):
self.local.ifc.close()
self.local.ifc = None
def __del__(self) -> None:
logging.debug(f'InverterBase.__del__() {self.addr}')
# now explicitly call garbage collector to release unreachable objects
unreachable_obj = gc.collect()
logging.debug(
f'InverterBase.__exit: freed unreachable obj: {unreachable_obj}')
def __del_remote(self):
if self.remote.stream:

View File

@@ -117,10 +117,6 @@ class Modbus():
while not self.que.empty():
self.que.get_nowait()
def __del__(self):
"""log statistics on the deleting of a MODBUS instance"""
logging.debug(f'Modbus __del__:\n {self.counter}')
def build_msg(self, addr: int, func: int, reg: int, val: int,
log_lvl=logging.DEBUG) -> None:
"""Build MODBUS RTU request frame and add it to the tx queue

View File

@@ -72,6 +72,7 @@ class ModbusTcp():
f'{stream.shutdown_started}')
if stream.shutdown_started:
return
del inverter # decrease ref counter after the with block
except (ConnectionRefusedError, TimeoutError) as error:
logging.debug(f'Inv-conn:{error}')

View File

@@ -44,9 +44,6 @@ class Mqtt(metaclass=Singleton):
def ha_restarts(self, value):
self._ha_restarts = value
def __del__(self):
logger_mqtt.debug('MQTT: __del__')
async def close(self) -> None:
logger_mqtt.debug('MQTT: close')
self.task.cancel()

View File

@@ -9,6 +9,7 @@ from app.src.singleton import Singleton
from app.src.config import Config
from app.src.infos import Infos
from app.src.mqtt import Mqtt
from app.src.inverter_base import InverterBase
from app.src.messages import Message, State
from app.src.proxy import Proxy
from app.src.modbus_tcp import ModbusConn, ModbusTcp
@@ -195,7 +196,11 @@ async def test_modbus_conn(patch_open):
assert type(stream.ifc._reader) is FakeReader
assert type(stream.ifc._writer) is FakeWriter
assert Infos.stat['proxy']['Inverter_Cnt'] == 1
del inverter
for _ in InverterBase:
assert False
assert Infos.stat['proxy']['Inverter_Cnt'] == 0
@pytest.mark.asyncio