Skip to content

Commit 7db59ae

Browse files
committed
ComponentTracker: Use run_forever with eventloop fixes for _run() loop
Signed-off-by: Mathias L. Baumann <[email protected]>
1 parent 65b84ca commit 7db59ae

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

src/frequenz/sdk/microgrid/_power_distributing/_component_status/_battery_status_tracker.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@
3636
)
3737
from typing_extensions import override
3838

39+
from frequenz.sdk._internal._asyncio import run_forever
40+
3941
from ....actor._background_service import BackgroundService
4042
from ... import connection_manager
4143
from ._blocking_status import BlockingStatus
@@ -262,7 +264,7 @@ async def _run(
262264
inverter = inverter_receiver
263265
set_power_result = set_power_result_receiver
264266

265-
while True:
267+
async def _loop() -> None:
266268
try:
267269
async for selected in select(
268270
battery,
@@ -317,6 +319,8 @@ async def _run(
317319
except Exception as err: # pylint: disable=broad-except
318320
_logger.exception("BatteryStatusTracker crashed with error: %s", err)
319321

322+
await run_forever(_loop)
323+
320324
def _get_current_status(self) -> ComponentStatusEnum:
321325
"""Get current battery status.
322326

0 commit comments

Comments
 (0)