diff --git a/src/openai/_base_client.py b/src/openai/_base_client.py index f31e5af54b..645343bd41 100644 --- a/src/openai/_base_client.py +++ b/src/openai/_base_client.py @@ -1316,9 +1316,13 @@ def __del__(self) -> None: if self.is_closed: return + # TODO(someday): support non asyncio runtimes here try: - # TODO(someday): support non asyncio runtimes here - asyncio.get_running_loop().create_task(self.aclose()) + loop = asyncio.get_event_loop() + if loop.is_running(): + loop.create_task(self.aclose()) + else: + loop.run_until_complete(self.aclose()) except Exception: pass