From 963347b9c580ed93cba319c82f9073f4cca4c509 Mon Sep 17 00:00:00 2001 From: Phil Bruckner Date: Fri, 22 Dec 2023 16:29:26 -0600 Subject: [PATCH] Reduce Life360 update time by fetching Places & Members in parallel (#106277) --- homeassistant/components/life360/coordinator.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/life360/coordinator.py b/homeassistant/components/life360/coordinator.py index 755fa1b8124..4ef6e20d703 100644 --- a/homeassistant/components/life360/coordinator.py +++ b/homeassistant/components/life360/coordinator.py @@ -2,6 +2,7 @@ from __future__ import annotations +import asyncio from contextlib import suppress from dataclasses import dataclass, field from datetime import datetime @@ -130,8 +131,10 @@ class Life360DataUpdateCoordinator(DataUpdateCoordinator[Life360Data]): for circle in await self._retrieve_data("get_circles"): circle_id = circle["id"] - circle_members = await self._retrieve_data("get_circle_members", circle_id) - circle_places = await self._retrieve_data("get_circle_places", circle_id) + circle_members, circle_places = await asyncio.gather( + self._retrieve_data("get_circle_members", circle_id), + self._retrieve_data("get_circle_places", circle_id), + ) data.circles[circle_id] = Life360Circle( circle["name"],