Skip to content

Commit 6154241

Browse files
committed
Specify priority and kw arguments in calls to *_pool methods
Signed-off-by: Sahas Subramanian <[email protected]>
1 parent cef4a8e commit 6154241

File tree

15 files changed

+52
-37
lines changed

15 files changed

+52
-37
lines changed

benchmarks/power_distribution/power_distributor.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ async def send_requests(batteries: set[int], request_num: int) -> list[Result]:
5050
Returns:
5151
List of the results from the PowerDistributingActor.
5252
"""
53-
battery_pool = microgrid.battery_pool(batteries)
53+
battery_pool = microgrid.battery_pool(priority=5, component_ids=batteries)
5454
results_rx = battery_pool.power_status.new_receiver()
5555
result: list[Any] = []
5656
for _ in range(request_num):

examples/battery_pool.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ async def main() -> None:
2828
resampler_config=ResamplerConfig(resampling_period=timedelta(seconds=1.0)),
2929
)
3030

31-
battery_pool = microgrid.battery_pool()
31+
battery_pool = microgrid.battery_pool(priority=5)
3232
receivers = [
3333
battery_pool.soc.new_receiver(limit=1),
3434
battery_pool.capacity.new_receiver(limit=1),

src/frequenz/sdk/actor/_power_managing/_power_managing_actor.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import asyncio
99
import logging
10+
import sys
1011
import typing
1112
from datetime import datetime, timedelta, timezone
1213

@@ -146,16 +147,22 @@ def _add_bounds_tracker(self, component_ids: frozenset[int]) -> None:
146147
bounds_receiver: Receiver[SystemBounds]
147148
# pylint: disable=protected-access
148149
if self._component_category is ComponentCategory.BATTERY:
149-
battery_pool = microgrid.battery_pool(component_ids)
150+
battery_pool = microgrid.battery_pool(
151+
priority=-sys.maxsize - 1, component_ids=component_ids
152+
)
150153
bounds_receiver = battery_pool._system_power_bounds.new_receiver()
151154
elif self._component_category is ComponentCategory.EV_CHARGER:
152-
ev_charger_pool = microgrid.ev_charger_pool(component_ids)
155+
ev_charger_pool = microgrid.ev_charger_pool(
156+
priority=-sys.maxsize - 1, component_ids=component_ids
157+
)
153158
bounds_receiver = ev_charger_pool._system_power_bounds.new_receiver()
154159
elif (
155160
self._component_category is ComponentCategory.INVERTER
156161
and self._component_type is InverterType.SOLAR
157162
):
158-
pv_pool = microgrid.pv_pool(component_ids)
163+
pv_pool = microgrid.pv_pool(
164+
priority=-sys.maxsize - 1, component_ids=component_ids
165+
)
159166
bounds_receiver = pv_pool._system_power_bounds.new_receiver()
160167
# pylint: enable=protected-access
161168
else:

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,9 @@ def adjust_to_bounds(self, power: Power) -> tuple[Power | None, Power | None]:
6666
```python
6767
from frequenz.sdk import microgrid
6868
69-
power_status_rx = microgrid.battery_pool().power_status.new_receiver()
69+
power_status_rx = microgrid.battery_pool(
70+
priority=5,
71+
).power_status.new_receiver()
7072
power_status = await power_status_rx.receive()
7173
desired_power = Power.from_watts(1000.0)
7274

src/frequenz/sdk/timeseries/formula_engine/_formula_engine.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,7 @@ class FormulaEngine(
253253
```python
254254
from frequenz.sdk import microgrid
255255
256-
battery_pool = microgrid.battery_pool()
256+
battery_pool = microgrid.battery_pool(priority=5)
257257
258258
async for power in battery_pool.power.new_receiver():
259259
print(f"{power=}")
@@ -277,8 +277,8 @@ class FormulaEngine(
277277
from frequenz.sdk import microgrid
278278
279279
logical_meter = microgrid.logical_meter()
280-
battery_pool = microgrid.battery_pool()
281-
ev_charger_pool = microgrid.ev_charger_pool()
280+
battery_pool = microgrid.battery_pool(priority=5)
281+
ev_charger_pool = microgrid.ev_charger_pool(priority=5)
282282
grid = microgrid.grid()
283283
284284
# apply operations on formula engines to create a formula engine that would
@@ -459,7 +459,7 @@ class FormulaEngine3Phase(
459459
```python
460460
from frequenz.sdk import microgrid
461461
462-
ev_charger_pool = microgrid.ev_charger_pool()
462+
ev_charger_pool = microgrid.ev_charger_pool(priority=5)
463463
464464
async for sample in ev_charger_pool.current.new_receiver():
465465
print(f"Current: {sample}")
@@ -474,7 +474,7 @@ class FormulaEngine3Phase(
474474
from frequenz.sdk import microgrid
475475
476476
logical_meter = microgrid.logical_meter()
477-
ev_charger_pool = microgrid.ev_charger_pool()
477+
ev_charger_pool = microgrid.ev_charger_pool(priority=5)
478478
grid = microgrid.grid()
479479
480480
# Calculate grid consumption current that's not used by the EV chargers

src/frequenz/sdk/timeseries/logical_meter/_logical_meter.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ class LogicalMeter:
4242
)
4343
4444
logical_meter = microgrid.logical_meter()
45-
pv_pool = microgrid.pv_pool()
45+
pv_pool = microgrid.pv_pool(priority=5)
4646
grid = microgrid.grid()
4747
4848
# Get a receiver for a builtin formula

tests/microgrid/test_datapipeline.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ async def test_actors_started(
7171
)
7272
mock_client.initialize(mocker)
7373

74-
datapipeline.battery_pool()
74+
datapipeline.battery_pool(priority=5)
7575

7676
assert datapipeline._battery_power_wrapper._power_distributing_actor is not None
7777
await asyncio.sleep(1)

tests/timeseries/_battery_pool/test_battery_pool.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ async def setup_all_batteries(mocker: MockerFixture) -> AsyncIterator[SetupArgs]
158158
# the scope of this tests. This tests should cover BatteryPool only.
159159
# We use our own battery status channel, where we easily control set of working
160160
# batteries.
161-
battery_pool = microgrid.battery_pool()
161+
battery_pool = microgrid.battery_pool(priority=5)
162162

163163
dp = microgrid._data_pipeline._DATA_PIPELINE
164164
assert dp is not None
@@ -212,7 +212,9 @@ async def setup_batteries_pool(mocker: MockerFixture) -> AsyncIterator[SetupArgs
212212
# batteries.
213213
all_batteries = list(get_components(mock_microgrid, ComponentCategory.BATTERY))
214214

215-
battery_pool = microgrid.battery_pool(set(all_batteries[:2]))
215+
battery_pool = microgrid.battery_pool(
216+
priority=5, component_ids=set(all_batteries[:2])
217+
)
216218

217219
dp = microgrid._data_pipeline._DATA_PIPELINE
218220
assert dp is not None
@@ -548,7 +550,7 @@ async def test_batter_pool_power_no_batteries(mocker: MockerFixture) -> None:
548550
)
549551
)
550552
await mockgrid.start(mocker)
551-
battery_pool = microgrid.battery_pool()
553+
battery_pool = microgrid.battery_pool(priority=5)
552554
power_receiver = battery_pool.power.new_receiver()
553555

554556
await mockgrid.mock_resampler.send_non_existing_component_value()
@@ -565,7 +567,7 @@ async def test_battery_pool_power_with_no_inverters(mocker: MockerFixture) -> No
565567
await mockgrid.start(mocker)
566568

567569
with pytest.raises(RuntimeError):
568-
microgrid.battery_pool()
570+
microgrid.battery_pool(priority=5)
569571

570572

571573
async def test_battery_pool_power_incomplete_bat_request(mocker: MockerFixture) -> None:
@@ -588,7 +590,7 @@ async def test_battery_pool_power_incomplete_bat_request(mocker: MockerFixture)
588590
with pytest.raises(FormulaGenerationError):
589591
# Request only two of the three batteries behind the inverters
590592
battery_pool = microgrid.battery_pool(
591-
component_ids=set([bats[1].component_id, bats[0].component_id])
593+
priority=5, component_ids=set([bats[1].component_id, bats[0].component_id])
592594
)
593595
power_receiver = battery_pool.power.new_receiver()
594596
await mockgrid.mock_resampler.send_bat_inverter_power([2.0])
@@ -597,7 +599,7 @@ async def test_battery_pool_power_incomplete_bat_request(mocker: MockerFixture)
597599

598600
async def _test_battery_pool_power(mockgrid: MockMicrogrid) -> None:
599601
async with mockgrid:
600-
battery_pool = microgrid.battery_pool()
602+
battery_pool = microgrid.battery_pool(priority=5)
601603
power_receiver = battery_pool.power.new_receiver()
602604

603605
await mockgrid.mock_resampler.send_bat_inverter_power([2.0, 3.0])

tests/timeseries/_battery_pool/test_battery_pool_control_methods.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ async def test_case_1(
188188
await self._init_data_for_batteries(mocks)
189189
await self._init_data_for_inverters(mocks)
190190

191-
battery_pool = microgrid.battery_pool()
191+
battery_pool = microgrid.battery_pool(priority=5)
192192

193193
bounds_rx = battery_pool.power_status.new_receiver()
194194

@@ -283,9 +283,13 @@ async def test_case_2(self, mocks: Mocks, mocker: MockerFixture) -> None:
283283
await self._init_data_for_batteries(mocks)
284284
await self._init_data_for_inverters(mocks)
285285

286-
battery_pool_1 = microgrid.battery_pool(set(mocks.microgrid.battery_ids[:2]))
286+
battery_pool_1 = microgrid.battery_pool(
287+
priority=5, component_ids=set(mocks.microgrid.battery_ids[:2])
288+
)
287289
bounds_1_rx = battery_pool_1.power_status.new_receiver()
288-
battery_pool_2 = microgrid.battery_pool(set(mocks.microgrid.battery_ids[2:]))
290+
battery_pool_2 = microgrid.battery_pool(
291+
priority=5, component_ids=set(mocks.microgrid.battery_ids[2:])
292+
)
289293
bounds_2_rx = battery_pool_2.power_status.new_receiver()
290294

291295
self._assert_report(
@@ -389,7 +393,7 @@ async def test_case_4(self, mocks: Mocks, mocker: MockerFixture) -> None:
389393
await self._init_data_for_batteries(mocks, exclusion_bounds=(-100.0, 100.0))
390394
await self._init_data_for_inverters(mocks)
391395

392-
battery_pool = microgrid.battery_pool()
396+
battery_pool = microgrid.battery_pool(priority=5)
393397
bounds_rx = battery_pool.power_status.new_receiver()
394398

395399
self._assert_report(

tests/timeseries/_ev_charger_pool/test_ev_charger_pool.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ async def test_ev_power( # pylint: disable=too-many-locals
2323
mockgrid.add_ev_chargers(3)
2424

2525
async with mockgrid:
26-
ev_pool = microgrid.ev_charger_pool()
26+
ev_pool = microgrid.ev_charger_pool(priority=5)
2727
power_receiver = ev_pool.power.new_receiver()
2828

2929
await mockgrid.mock_resampler.send_evc_power([2.0, 4.0, 10.0])

0 commit comments

Comments
 (0)