Просмотр исходного кода

service_api: run Playwright cookie refresh in thread executor to avoid blocking the event loop

ZiB 4 месяцев назад
Родитель
Сommit
de3b0339a9
2 измененных файлов с 2 добавлено и 2 удалено
  1. 1 1
      room_cal/service_api/_airbnb.py
  2. 1 1
      room_cal/service_api/_booking.py

+ 1 - 1
room_cal/service_api/_airbnb.py

@@ -110,7 +110,7 @@ class _AirbnbClient:
   async def _auto_refresh(self) -> None:
     _log.warning('Airbnb session may be expired — launching headless Playwright')
     try:
-      refresh_airbnb_cookies()
+      await asyncio.get_running_loop().run_in_executor(None, refresh_airbnb_cookies)
       self._reload_from_env()
     except ServiceAuthError:
       mark_stale('airbnb')

+ 1 - 1
room_cal/service_api/_booking.py

@@ -258,7 +258,7 @@ class _BookingClient:
       return
     _log.warning('HTTP refresh failed — launching headless Playwright')
     try:
-      refresh_booking_cookies()
+      await asyncio.get_running_loop().run_in_executor(None, refresh_booking_cookies)
       self._reload_from_env()
     except ServiceAuthError:
       mark_stale('booking')