Skip to content

Commit fbf2f47

Browse files
committed
Use GrpcError instead of grpc.aio.AioRpcError
Signed-off-by: Leandro Lucarella <[email protected]>
1 parent 50a75a9 commit fbf2f47

File tree

3 files changed

+37
-23
lines changed

3 files changed

+37
-23
lines changed

src/frequenz/sdk/actor/power_distributing/_component_managers/_battery_manager.py

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,14 @@
1010
import typing
1111
from datetime import timedelta
1212

13-
import grpc
1413
from frequenz.channels import Receiver, Sender
15-
from frequenz.client.microgrid import BatteryData, ComponentCategory, InverterData
14+
from frequenz.client.microgrid import (
15+
BatteryData,
16+
ClientError,
17+
ComponentCategory,
18+
InverterData,
19+
OperationOutOfRange,
20+
)
1621
from typing_extensions import override
1722

1823
from .... import microgrid
@@ -649,21 +654,22 @@ def _parse_result(
649654
battery_ids = self._inv_bats_map[inverter_id]
650655
try:
651656
aws.result()
652-
except grpc.aio.AioRpcError as err:
657+
except OperationOutOfRange as err:
658+
failed_power += distribution[inverter_id]
659+
failed_batteries = failed_batteries.union(battery_ids)
660+
_logger.debug(
661+
"Set power for battery %s failed due to out of range error: %s",
662+
battery_ids,
663+
err,
664+
)
665+
except ClientError as err:
653666
failed_power += distribution[inverter_id]
654667
failed_batteries = failed_batteries.union(battery_ids)
655-
if err.code() == grpc.StatusCode.OUT_OF_RANGE:
656-
_logger.debug(
657-
"Set power for battery %s failed, error %s",
658-
battery_ids,
659-
str(err),
660-
)
661-
else:
662-
_logger.warning(
663-
"Set power for battery %s failed, error %s. Mark it as broken.",
664-
battery_ids,
665-
str(err),
666-
)
668+
_logger.warning(
669+
"Set power for battery %s failed, mark it as broken. Error: %s",
670+
battery_ids,
671+
err,
672+
)
667673
except asyncio.exceptions.CancelledError:
668674
failed_power += distribution[inverter_id]
669675
failed_batteries = failed_batteries.union(battery_ids)

src/frequenz/sdk/actor/power_distributing/_component_managers/_ev_charger_manager/_ev_charger_manager.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,13 @@
88
import logging
99
from datetime import datetime, timedelta, timezone
1010

11-
import grpc
1211
from frequenz.channels import Broadcast, Sender, merge, select, selected_from
13-
from frequenz.client.microgrid import ApiClient, ComponentCategory, EVChargerData
12+
from frequenz.client.microgrid import (
13+
ApiClient,
14+
ClientError,
15+
ComponentCategory,
16+
EVChargerData,
17+
)
1418
from typing_extensions import override
1519

1620
from frequenz.sdk import microgrid
@@ -335,9 +339,9 @@ async def _set_api_power(
335339
_logger.warning(
336340
"Timeout while setting power to EV charger %s", component_id
337341
)
338-
case grpc.aio.AioRpcError() as err:
342+
case ClientError() as err:
339343
_logger.warning(
340-
"Error while setting power to EV charger %s: %s",
344+
"Got a client error while setting power to EV charger %s: %s",
341345
component_id,
342346
err,
343347
)

src/frequenz/sdk/actor/power_distributing/_component_managers/_pv_inverter_manager/_pv_inverter_manager.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,13 @@
88
import logging
99
from datetime import timedelta
1010

11-
import grpc
1211
from frequenz.channels import Broadcast, Sender
13-
from frequenz.client.microgrid import ComponentCategory, InverterData, InverterType
12+
from frequenz.client.microgrid import (
13+
ClientError,
14+
ComponentCategory,
15+
InverterData,
16+
InverterType,
17+
)
1418
from typing_extensions import override
1519

1620
from ....._internal._channels import LatestValueCache
@@ -197,9 +201,9 @@ async def _set_api_power( # pylint: disable=too-many-locals
197201
_logger.warning(
198202
"Timeout while setting power to PV inverter %s", component_id
199203
)
200-
case grpc.aio.AioRpcError() as err:
204+
case ClientError() as err:
201205
_logger.warning(
202-
"Error while setting power to PV inverter %s: %s",
206+
"Got a client error while setting power to PV inverter %s: %s",
203207
component_id,
204208
err,
205209
)

0 commit comments

Comments
 (0)