(self)
| 3040 | self._browsers.pop(browser_id) |
| 3041 | |
| 3042 | async def close(self): |
| 3043 | async with self._browsers_lock: |
| 3044 | browsers = list(self._browsers.values()) |
| 3045 | self._browsers.clear() |
| 3046 | |
| 3047 | if self._idle_reaper_task and not self._idle_reaper_task.done(): |
| 3048 | self._idle_reaper_task.cancel() |
| 3049 | try: |
| 3050 | await self._idle_reaper_task |
| 3051 | except asyncio.CancelledError: |
| 3052 | pass |
| 3053 | |
| 3054 | for browser in browsers: |
| 3055 | try: |
| 3056 | await browser.force_close_pending_browser(close_all=True) |
| 3057 | await browser.recycle_browser(reason="service_shutdown", rotate_profile=False) |
| 3058 | except Exception: |
| 3059 | pass |
| 3060 | |
| 3061 | async def open_login_browser(self): return {"success": False, "error": "Not implemented"} |
| 3062 | async def create_browser_for_token(self, t, s=None): pass |
no test coverage detected