Skip to content

Commit 0d8232d

Browse files
committed
Close status receivers when stopping a *pool
Signed-off-by: Sahas Subramanian <[email protected]>
1 parent fc74e8f commit 0d8232d

File tree

3 files changed

+7
-1
lines changed

3 files changed

+7
-1
lines changed

src/frequenz/sdk/timeseries/battery_pool/_battery_pool_reference_store.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,9 +90,12 @@ def __init__( # pylint: disable=too-many-arguments
9090
self._working_batteries: set[int] = set()
9191

9292
self._update_battery_status_task: asyncio.Task[None] | None = None
93+
self._batteries_status_receiver: Receiver[ComponentPoolStatus] = (
94+
batteries_status_receiver
95+
)
9396
if self._batteries:
9497
self._update_battery_status_task = asyncio.create_task(
95-
self._update_battery_status(batteries_status_receiver)
98+
self._update_battery_status(self._batteries_status_receiver)
9699
)
97100

98101
self._min_update_interval: timedelta = min_update_interval
@@ -128,6 +131,7 @@ async def stop(self) -> None:
128131
if self._update_battery_status_task:
129132
tasks_to_stop.append(cancel_and_await(self._update_battery_status_task))
130133
await asyncio.gather(*tasks_to_stop)
134+
self._batteries_status_receiver.close()
131135

132136
def _get_all_batteries(self) -> frozenset[int]:
133137
"""Get all batteries from the microgrid.

src/frequenz/sdk/timeseries/ev_charger_pool/_ev_charger_pool_reference_store.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,3 +107,4 @@ async def stop(self) -> None:
107107
"""Stop all tasks and channels owned by the EVChargerPool."""
108108
await self.formula_pool.stop()
109109
await self.bounds_tracker.stop()
110+
self.status_receiver.close()

src/frequenz/sdk/timeseries/pv_pool/_pv_pool_reference_store.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,3 +108,4 @@ async def stop(self) -> None:
108108
"""Stop all tasks and channels owned by the PVInverterPool."""
109109
await self.formula_pool.stop()
110110
await self.bounds_tracker.stop()
111+
self.status_receiver.close()

0 commit comments

Comments
 (0)